From 22bfe11dc63e87a2c0c116c3eb885d1d1b05d0c0 Mon Sep 17 00:00:00 2001 From: Kota <128109461+kota113@users.noreply.github.com> Date: Mon, 15 Jun 2026 20:50:24 +1000 Subject: [PATCH 01/14] [expo-calendar] fix the docs to handle ios-only items correctly (#46416) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # Why The `expo-calendar` package exposes some iOS-only APIs below without any platform annotation in the TypeScript type definitions. This means **users on Android may attempt to use these APIs and receive runtime errors or `undefined` behavior with no prior warning from the docs or type system.** - Reminders-related methods - `src/ExpoCalendar.types.ts`: `listReminders()` / `createReminder()` - `src/Calendar.ts`: `ExpoCalendarReminder` class - `src/Calendar.ts`: `getRemindersPermissions` / `requestRemindersPermissions` / `useRemindersPermissions` - `src/ExpoCalendar.types.ts`: `AddEventWithFormOptions.url` - `src/Calendar.ts`: `getDefaultCalendarSync()`, `getSourcesSync()` This PR fixes the documentation gap above and **removes the iOS-only doc for `getOccurrenceSync`**, which already has an Android function. # How Added `@platform ios` JSDoc annotations to all iOS-exclusive APIs. - **`ExpoCalendarReminder` class** — iOS Reminders app has no Android equivalent; annotated the entire class with `/** @platform ios */`. - **`ExpoCalendar.listReminders()`** and **`ExpoCalendar.createReminder()`** — methods that operate on iOS Reminders; added `@platform ios` to each. - **`requestRemindersPermissions`**, **`getRemindersPermissions`**, and **`useRemindersPermissions`** — the Reminders permission concept does not exist on Android; added `@platform ios` to each export. - **`AddEventWithFormOptions.url`** — Android's `CalendarContract` does not have a standard Web URL field (`CUSTOM_APP_URI` serves a different purpose); added `@platform ios` to the field (note: `ExpoCalendarEvent.url` already had the annotation). Additionally, `UnavailabilityError` is now thrown at runtime when iOS-only APIs are called on Android, consistent with the pattern used throughout this package. Affected APIs: - `ExpoCalendar.listReminders()` - `ExpoCalendar.createReminder()` - `ExpoCalendarReminder.get()` - `ExpoCalendarReminder.update()` - `ExpoCalendarReminder.delete()` - `requestRemindersPermissions()` - `getRemindersPermissions()` - `useRemindersPermissions()`. # Test Plan 1. Ran the package linter to ensure no type or style regressions: ``` npx expo-module lint ``` Exited with code `0` — no errors. 2. Ran the TypeScript compiler to ensure no type errors: ``` npx tsc --noEmit ``` Exited with code `0` — no errors. # Checklist - [x] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [x] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [x] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) --------- Co-authored-by: Wiktor Smaga --- .../data/unversioned/expo-calendar-next.json | 2 +- .../data/unversioned/expo-calendar.json | 2 +- .../data/v56.0.0/expo-calendar-next.json | 2 +- .../static/data/v56.0.0/expo-calendar.json | 2 +- packages/expo-calendar/CHANGELOG.md | 4 + packages/expo-calendar/build/Calendar.d.ts | 27 +++++-- .../expo-calendar/build/Calendar.d.ts.map | 2 +- packages/expo-calendar/build/Calendar.js | 69 +++++++++++++++-- packages/expo-calendar/build/Calendar.js.map | 2 +- .../build/ExpoCalendar.types.d.ts | 14 +++- .../build/ExpoCalendar.types.d.ts.map | 2 +- .../build/ExpoCalendar.types.js.map | 2 +- packages/expo-calendar/src/Calendar.ts | 74 +++++++++++++++++-- .../expo-calendar/src/ExpoCalendar.types.ts | 14 +++- 14 files changed, 192 insertions(+), 26 deletions(-) diff --git a/docs/public/static/data/unversioned/expo-calendar-next.json b/docs/public/static/data/unversioned/expo-calendar-next.json index f17e769dc4bc89..1ca8108132b2b7 100644 --- a/docs/public/static/data/unversioned/expo-calendar-next.json +++ b/docs/public/static/data/unversioned/expo-calendar-next.json @@ -1 +1 @@ -{"schemaVersion":"2.0","name":"expo-calendar-next","variant":"project","kind":1,"children":[{"name":"AlarmMethod","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"ALARM","variant":"declaration","kind":16,"type":{"type":"literal","value":"alarm"}},{"name":"ALERT","variant":"declaration","kind":16,"type":{"type":"literal","value":"alert"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"EMAIL","variant":"declaration","kind":16,"type":{"type":"literal","value":"email"}},{"name":"SMS","variant":"declaration","kind":16,"type":{"type":"literal","value":"sms"}}]},{"name":"AttendeeRole","variant":"declaration","kind":8,"children":[{"name":"ATTENDEE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"attendee"}},{"name":"CHAIR","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"chair"}},{"name":"NON_PARTICIPANT","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"nonParticipant"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"ORGANIZER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"organizer"}},{"name":"PERFORMER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"performer"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"required"}},{"name":"SPEAKER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"speaker"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeStatus","variant":"declaration","kind":8,"children":[{"name":"ACCEPTED","variant":"declaration","kind":16,"type":{"type":"literal","value":"accepted"}},{"name":"COMPLETED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"completed"}},{"name":"DECLINED","variant":"declaration","kind":16,"type":{"type":"literal","value":"declined"}},{"name":"DELEGATED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"delegated"}},{"name":"IN_PROCESS","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"inProcess"}},{"name":"INVITED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"invited"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"PENDING","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"pending"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeType","variant":"declaration","kind":8,"children":[{"name":"GROUP","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"group"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"PERSON","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"person"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"required"}},{"name":"RESOURCE","variant":"declaration","kind":16,"type":{"type":"literal","value":"resource"}},{"name":"ROOM","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"room"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"Availability","variant":"declaration","kind":8,"children":[{"name":"BUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"busy"}},{"name":"FREE","variant":"declaration","kind":16,"type":{"type":"literal","value":"free"}},{"name":"NOT_SUPPORTED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"notSupported"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNAVAILABLE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unavailable"}}]},{"name":"CalendarAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONTRIBUTOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"contributor"}},{"name":"EDITOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"editor"}},{"name":"FREEBUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"freebusy"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"OVERRIDE","variant":"declaration","kind":16,"type":{"type":"literal","value":"override"}},{"name":"OWNER","variant":"declaration","kind":16,"type":{"type":"literal","value":"owner"}},{"name":"READ","variant":"declaration","kind":16,"type":{"type":"literal","value":"read"}},{"name":"RESPOND","variant":"declaration","kind":16,"type":{"type":"literal","value":"respond"}},{"name":"ROOT","variant":"declaration","kind":16,"type":{"type":"literal","value":"root"}}]},{"name":"CalendarDialogResultActions","variant":"declaration","kind":8,"comment":{"summary":[{"kind":"text","text":"Enum containing all possible user responses to the calendar UI dialogs. Depending on what dialog is presented, a subset of the values applies."}]},"children":[{"name":"canceled","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user canceled or dismissed the dialog."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"canceled"}},{"name":"deleted","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user deleted the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"deleted"}},{"name":"done","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"On Android, this is the only possible result because the OS doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, modified the event, or deleted it.\n\nOn iOS, this means the user simply closed the dialog."}]},"type":{"type":"literal","value":"done"}},{"name":"responded","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user responded to and saved a pending event invitation."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"responded"}},{"name":"saved","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user saved a new event or modified an existing one."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"saved"}}]},{"name":"CalendarType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"type":{"type":"literal","value":"unknown"}}]},{"name":"DayOfTheWeek","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"Friday","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"Monday","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"Saturday","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"Sunday","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"Thursday","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"Tuesday","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"Wednesday","variant":"declaration","kind":16,"type":{"type":"literal","value":4}}]},{"name":"EntityTypes","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"EVENT","variant":"declaration","kind":16,"type":{"type":"literal","value":"event"}},{"name":"REMINDER","variant":"declaration","kind":16,"type":{"type":"literal","value":"reminder"}}]},{"name":"EventAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONFIDENTIAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"confidential"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"PRIVATE","variant":"declaration","kind":16,"type":{"type":"literal","value":"private"}},{"name":"PUBLIC","variant":"declaration","kind":16,"type":{"type":"literal","value":"public"}}]},{"name":"EventStatus","variant":"declaration","kind":8,"children":[{"name":"CANCELED","variant":"declaration","kind":16,"type":{"type":"literal","value":"canceled"}},{"name":"CONFIRMED","variant":"declaration","kind":16,"type":{"type":"literal","value":"confirmed"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}}]},{"name":"Frequency","variant":"declaration","kind":8,"children":[{"name":"DAILY","variant":"declaration","kind":16,"type":{"type":"literal","value":"daily"}},{"name":"MONTHLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"monthly"}},{"name":"WEEKLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"weekly"}},{"name":"YEARLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"yearly"}}]},{"name":"MonthOfTheYear","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"April","variant":"declaration","kind":16,"type":{"type":"literal","value":4}},{"name":"August","variant":"declaration","kind":16,"type":{"type":"literal","value":8}},{"name":"December","variant":"declaration","kind":16,"type":{"type":"literal","value":12}},{"name":"February","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"January","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"July","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"June","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"March","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"May","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"November","variant":"declaration","kind":16,"type":{"type":"literal","value":11}},{"name":"October","variant":"declaration","kind":16,"type":{"type":"literal","value":10}},{"name":"September","variant":"declaration","kind":16,"type":{"type":"literal","value":9}}]},{"name":"ReminderStatus","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"COMPLETED","variant":"declaration","kind":16,"type":{"type":"literal","value":"completed"}},{"name":"INCOMPLETE","variant":"declaration","kind":16,"type":{"type":"literal","value":"incomplete"}}]},{"name":"SourceType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"MOBILEME","variant":"declaration","kind":16,"type":{"type":"literal","value":"mobileme"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}}]},{"name":"ExpoCalendar","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar object that can be accessed and modified using the Expo Calendar Next API.\n\nThis class provides properties and methods for interacting with a specific calendar on the device,\nsuch as retrieving its events, updating its details, and accessing its metadata."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendar","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Level of access that the user has for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"CalendarAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.accessLevel"}},{"name":"allowedAttendeeTypes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Attendee types that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AttendeeType","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAttendeeTypes"}},{"name":"allowedAvailabilities","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Availability types that this calendar supports."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Availability","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAvailabilities"}},{"name":"allowedReminders","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Alarm methods that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedReminders"}},{"name":"allowsModifications","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value that determines whether this calendar can be modified."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowsModifications"}},{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Color used to display this calendar's events."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.color"}},{"name":"entityType","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the calendar is used in the Calendar or Reminders OS app."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.entityType"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this calendar on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.id"}},{"name":"isPrimary","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether this is the device's primary calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isPrimary"}},{"name":"isSynced","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether this calendar is synced and its events stored on the device.\nUnexpected behavior may occur if this is not set to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isSynced"}},{"name":"isVisible","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether the OS displays events on this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isVisible"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal system name of the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.name"}},{"name":"ownerAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.ownerAccount"}},{"name":"source","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing the source to be used for the calendar."}]},"type":{"type":"reference","name":"Source","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.source"}},{"name":"sourceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the source to be used for the calendar. Likely the same as the source for any other\nlocally stored calendars."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.sourceId"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the calendar."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.title"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of calendar this object represents."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"CalendarType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.type"}},{"name":"addEventWithForm","variant":"declaration","kind":2048,"signatures":[{"name":"addEventWithForm","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the system-provided dialog to create a new event in this calendar, pre-filled with the provided data.\nRequires at minimum write-only calendar permission."}]},"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"AddEventWithFormOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}},{"name":"createEvent","variant":"declaration","kind":2048,"signatures":[{"name":"createEvent","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new event in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created event."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"creationDate"},{"type":"literal","value":"lastModifiedDate"},{"type":"literal","value":"originalStartDate"},{"type":"literal","value":"isDetached"},{"type":"literal","value":"status"},{"type":"literal","value":"organizer"}]}],"name":"Omit","package":"typescript"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}},{"name":"createReminder","variant":"declaration","kind":2048,"signatures":[{"name":"createReminder","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new reminder in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created reminder."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"delete","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Deletes the calendar."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}},{"name":"listEvents","variant":"declaration","kind":2048,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a calendar event list for the given date range."}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}},{"name":"listReminders","variant":"declaration","kind":2048,"signatures":[{"name":"listReminders","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a list of reminders matching the provided criteria. If "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" and "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" are defined,\nreturns all reminders that overlap at all with the "},{"kind":"code","text":"`[startDate, endDate]`"},{"kind":"text","text":" interval, that is, all reminders\nthat end after the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" or begin before the "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) objects matching the search criteria."}]}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Beginning of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders before "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"End of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders after "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"status","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"One of "},{"kind":"code","text":"`Calendar.ReminderStatus.COMPLETED`"},{"kind":"text","text":" or "},{"kind":"code","text":"`Calendar.ReminderStatus.INCOMPLETE`"},{"kind":"text","text":". If not defined, both completed and incomplete reminders will be returned."}]},"type":{"type":"union","types":[{"type":"reference","name":"ReminderStatus","package":"expo-calendar"},{"type":"literal","value":null}]},"defaultValue":"null"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableCalendarProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a calendar by its ID. Throws an error if the calendar with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the calendar."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the calendar to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"}]},{"name":"ExpoCalendarAttendee","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar attendee object."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarAttendee","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}},{"name":"email","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email of the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.email"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this attendee on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.id"}},{"name":"isCurrentUser","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not this attendee is the current OS user."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.isCurrentUser"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Displayed name of the attendee."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.name"}},{"name":"role","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Role of the attendee at the event."}]},"type":{"type":"reference","name":"AttendeeRole","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.role"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the attendee in relation to the event."}]},"type":{"type":"reference","name":"AttendeeStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.status"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of the attendee."}]},"type":{"type":"reference","name":"AttendeeType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.type"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.url"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ModifiableAttendeeProperties"},"name":"ModifiableAttendeeProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"},"name":"ExpoCalendarAttendee","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"}]},{"name":"ExpoCalendarEvent","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar event object that can be accessed and modified using the Expo Calendar Next API."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarEvent","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"User's access level for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"EventAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.accessLevel"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated reminders to the user."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the event is displayed as an all-day event on the calendar"}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.allDay"}},{"name":"availability","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"The availability setting for the event."}]},"type":{"type":"reference","name":"Availability","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.availability"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.calendarId"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was created."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.creationDate"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event ends."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endDate"}},{"name":"endTimeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the end date of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endTimeZone"}},{"name":"guestsCanInviteOthers","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can invite other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanInviteOthers"}},{"name":"guestsCanModify","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can modify the details of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanModify"}},{"name":"guestsCanSeeGuests","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can see other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanSeeGuests"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this event on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.id"}},{"name":"instanceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For instances of recurring events, volatile ID representing this instance. Not guaranteed to\nalways refer to the same instance."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.instanceId"}},{"name":"isDetached","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether or not the event is a detached (modified) instance of a recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.isDetached"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was last modified."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the event."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.notes"}},{"name":"organizer","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Organizer of the event.\nThis property is only available on events associated with calendars that are managed by a service such as Google Calendar or iCloud.\nThe organizer is read-only and cannot be set."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Organizer"},"name":"Organizer","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizer"}},{"name":"organizerEmail","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email address of the organizer of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizerEmail"}},{"name":"originalId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For detached (modified) instances of recurring events, the ID of the original recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalId"}},{"name":"originalStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For recurring events, the start date for the first (original) instance of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalStartDate"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeating events. Set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time events.\nIt is either "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" or "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" based."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event starts."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.startDate"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the event."}]},"type":{"type":"reference","name":"EventStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.status"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the event is scheduled in.\nWhen set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":", the event is scheduled to the device's time zone."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.url"}},{"name":"createAttendee","variant":"declaration","kind":2048,"signatures":[{"name":"createAttendee","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new attendee and adds it to this event."}]},"parameters":[{"name":"attendee","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the event."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}},{"name":"editInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"editInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to edit or delete an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogParamsNext"},"name":"CalendarDialogParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}},{"name":"getAttendees","variant":"declaration","kind":2048,"signatures":[{"name":"getAttendees","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets all attendees for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`Attendee`"},{"kind":"text","text":"](#attendee) associated with the specified event."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}},{"name":"getOccurrenceSync","variant":"declaration","kind":2048,"signatures":[{"name":"getOccurrenceSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns an event instance for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An event instance."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"recurringEventOptions","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of options for recurring events."}]},"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}},{"name":"openInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"openInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to preview an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogOpenParamsNext"},"name":"CalendarDialogOpenParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableEventProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an event by its ID. Throws an error if the event with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) object representing the event."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the event to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"}]},{"name":"ExpoCalendarReminder","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar reminder object that can be accessed and modified using the Expo Calendar Next API."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarReminder","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated alarms to the user about the task."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the reminder is an all-day reminder."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.allDay"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.calendarId"}},{"name":"completed","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not the task has been completed."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completed"}},{"name":"completionDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the date of completion, if "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" is "},{"kind":"code","text":"`true`"},{"kind":"text","text":".\nSetting this property of a nonnull "},{"kind":"code","text":"`Date`"},{"kind":"text","text":" will automatically set the reminder's "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" value to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completionDate"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was created."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.creationDate"}},{"name":"dueDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the reminder task is due."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.dueDate"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this reminder on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.id"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was last modified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the reminder"}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.notes"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeated reminders. "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time tasks."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the start date of the reminder task."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.startDate"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the reminder is scheduled in."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.url"}},{"name":"delete","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"delete","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Deletes the reminder."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableReminderProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a reminder by its ID. Throws an error if the reminder with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) object representing the reminder."}]}]},"parameters":[{"name":"reminderId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the reminder to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"}]},{"name":"AddEventWithFormOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}}]}}]}},{"name":"Alarm","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A method for having the OS automatically remind the user about a calendar item."}]},"children":[{"name":"absoluteDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing an absolute time the alarm should occur.\nOverrides "},{"kind":"code","text":"`relativeOffset`"},{"kind":"text","text":" and "},{"kind":"code","text":"`structuredLocation`"},{"kind":"text","text":" if specified alongside either."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"method","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Method of alerting the user that this alarm should use. On iOS this is always a notification."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},{"name":"relativeOffset","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of minutes from the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" of the calendar item that the alarm should occur.\nUse negative values to have the alarm occur before the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"structuredLocation","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"AlarmLocation","package":"expo-calendar"}}]},{"name":"AlarmLocation","variant":"declaration","kind":2097152,"children":[{"name":"coords","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"latitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"longitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"proximity","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"radius","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"CalendarDialogParams","variant":"declaration","kind":2097152,"children":[{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"ID of the event to be presented in the calendar UI."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"DaysOfTheWeek","variant":"declaration","kind":2097152,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"dayOfTheWeek","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Sunday to Saturday - "},{"kind":"code","text":"`DayOfTheWeek`"},{"kind":"text","text":" enum."}]},"type":{"type":"reference","name":"DayOfTheWeek","package":"expo-calendar"}},{"name":"weekNumber","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" ("},{"kind":"code","text":"`0`"},{"kind":"text","text":" ignores this field, and a negative indicates a value from the end of the range)."}]},"type":{"type":"intrinsic","name":"number"}}]},{"name":"DialogEventResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting a calendar dialog for creating or editing an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How user responded to the dialog.\nOn Android, this is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":" (Android doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, saved or deleted the event).\n\nOn iOS, it can be "},{"kind":"code","text":"`saved`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":" or "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"saved"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"}]}],"name":"Extract","package":"typescript"}},{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"The ID of the event that was created or edited. On Android, this is always "},{"kind":"code","text":"`null`"},{"kind":"text","text":".\n\nOn iOS, this is a string when permissions are granted and user confirms the creation or editing of an event. Otherwise, it's "},{"kind":"code","text":"`null`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]}}]},{"name":"ModifiableCalendarProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"color"},{"type":"literal","value":"title"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableEventProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"availability"},{"type":"literal","value":"startDate"},{"type":"literal","value":"endDate"},{"type":"literal","value":"allDay"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableReminderProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"startDate"},{"type":"literal","value":"dueDate"},{"type":"literal","value":"completed"},{"type":"literal","value":"completionDate"}]}],"name":"Pick","package":"typescript"}},{"name":"OpenEventDialogResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting the calendar dialog for opening (viewing) an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates how user responded to the dialog.\nOn Android, the "},{"kind":"code","text":"`action`"},{"kind":"text","text":" is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":".\nOn iOS, it can be "},{"kind":"code","text":"`done`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":", "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":" or "},{"kind":"code","text":"`responded`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"},{"type":"literal","value":"responded"}]}],"name":"Extract","package":"typescript"}}]},{"name":"OpenEventPresentationOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"allowsCalendarPreview","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Determines whether event can be shown in calendar day view preview.\nThis property applies only to invitations."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"allowsEditing","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to allow the user to edit the previewed event.\nThis property applies only to events in calendars created by the user.\n\nNote that if the user edits the event, the returned action is the one that user performs last.\nFor example, when user previews the event, confirms some edits and finally dismisses the dialog, the event is edited, but response is "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]}}]}},{"name":"PermissionExpiration","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Permission expiration time. Currently, all permissions are granted permanently."}]},"type":{"type":"union","types":[{"type":"literal","value":"never"},{"type":"intrinsic","name":"number"}]}},{"name":"PermissionHookOptions","variant":"declaration","kind":2097152,"typeParameters":[{"name":"Options","variant":"typeParam","kind":131072,"type":{"type":"intrinsic","name":"object"}}],"type":{"type":"intersection","types":[{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"PermissionHookBehavior"},"name":"PermissionHookBehavior","package":"expo-modules-core"},{"type":"reference","name":"Options","package":"expo-modules-core","refersToTypeParameter":true}]}},{"name":"PermissionResponse","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"An object obtained by permissions get and request functions."}]},"children":[{"name":"canAskAgain","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates if user can be asked again for specific permission.\nIf not, one should be directed to the Settings app\nin order to enable/disable the permission."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"expires","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines time when the permission expires."}]},"type":{"type":"reference","name":"PermissionExpiration","package":"expo-modules-core"}},{"name":"granted","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"A convenience boolean that indicates if the permission is granted."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"status","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines the status of the permission."}]},"type":{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsInterface.ts","qualifiedName":"PermissionStatus"},"name":"PermissionStatus","package":"expo-modules-core"}}]},{"name":"PresentationOptions","variant":"declaration","kind":2097152,"children":[{"name":"startNewActivityTask","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to launch the Activity as a new [task](https://developer.android.com/reference/android/content/Intent#FLAG_ACTIVITY_NEW_TASK).\nIf "},{"kind":"code","text":"`true`"},{"kind":"text","text":", the promise resolves with "},{"kind":"code","text":"`'done'`"},{"kind":"text","text":" action immediately after opening the calendar activity."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]},{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]},{"name":"RecurrenceRule","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A recurrence rule for events or reminders, allowing the same calendar item to recur multiple times.\nThis type is based on [the iOS interface](https://developer.apple.com/documentation/eventkit/ekrecurrencerule/1507320-initrecurrencewithfrequency)\nwhich is in turn based on [the iCal RFC](https://tools.ietf.org/html/rfc5545#section-3.8.5.3)\nso you can refer to those to learn more about this potentially complex interface.\n\nNot all the combinations make sense. For example, when frequency is "},{"kind":"code","text":"`DAILY`"},{"kind":"text","text":", setting "},{"kind":"code","text":"`daysOfTheMonth`"},{"kind":"text","text":" makes no sense."}]},"children":[{"name":"daysOfTheMonth","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the month this event occurs on.\n"},{"kind":"code","text":"`-31`"},{"kind":"text","text":" to "},{"kind":"code","text":"`31`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Monthly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"daysOfTheWeek","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the week the event should recur on. An array of ["},{"kind":"code","text":"`DaysOfTheWeek`"},{"kind":"text","text":"](#daysoftheweek) object."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"DaysOfTheWeek","package":"expo-calendar"}}},{"name":"daysOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the year this event occurs on.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date on which the calendar item should stop recurring; overrides "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" if both are specified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"frequency","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How often the calendar item should recur."}]},"type":{"type":"reference","name":"Frequency","package":"expo-calendar"}},{"name":"interval","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interval at which the calendar item should recur. For example, an "},{"kind":"code","text":"`interval: 2`"},{"kind":"text","text":" with "},{"kind":"code","text":"`frequency: DAILY`"},{"kind":"text","text":"\nwould yield an event that recurs every other day."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"1"}]}]},"type":{"type":"intrinsic","name":"number"}},{"name":"monthsOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The months this event occurs on.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"MonthOfTheYear","package":"expo-calendar"}}},{"name":"occurrence","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of times the calendar item should recur before stopping."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"setPositions","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"TAn array of numbers that filters which recurrences to include. For example, for an event that\nrecurs every Monday, passing 2 here will make it recur every other Monday.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"weeksOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The weeks of the year this event occurs on.\n"},{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}}]},{"name":"RecurringEventOptions","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Options for specifying a particular instance of a recurring event.\nThis type is used in various methods that operate on recurring events, such as updating or deleting a single occurrence or a set of future occurrences."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"futureEvents","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether future events in the recurring series should also be updated. If "},{"kind":"code","text":"`true`"},{"kind":"text","text":", will\napply the given changes to the recurring instance specified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":" and all\nfuture events in the series. If "},{"kind":"code","text":"`false`"},{"kind":"text","text":", will only apply the given changes to the instance\nspecified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"Source","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A source account that owns a particular calendar. Expo apps will typically not need to interact with "},{"kind":"code","text":"`Source`"},{"kind":"text","text":" objects."}]},"children":[{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this source on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"isLocalAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether this source is the local phone account. Must be "},{"kind":"code","text":"`true`"},{"kind":"text","text":" if "},{"kind":"code","text":"`type`"},{"kind":"text","text":" is "},{"kind":"code","text":"`undefined`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"name","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar and was used to sync the calendar to the device."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"type","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Type of the account that owns this calendar and was used to sync it to the device.\nIf "},{"kind":"code","text":"`isLocalAccount`"},{"kind":"text","text":" is falsy then this must be defined, and must match an account on the device\nalong with "},{"kind":"code","text":"`name`"},{"kind":"text","text":", or the OS will delete the calendar.\nOn iOS, one of ["},{"kind":"code","text":"`SourceType`"},{"kind":"text","text":"](#sourcetype)s."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"SourceType","package":"expo-calendar"}]}}]},{"name":"getCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to check write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.getCalendarPermissions"},{"name":"getRemindersPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's reminders."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.getRemindersPermissions"},{"name":"getSourcesSync","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Gets an array of Source objects with details about the different sources stored on the device."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of Source objects representing the sources found."}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}}]}},"defaultValue":"InternalExpoCalendar.getSourcesSync"},{"name":"requestCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to request write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.requestCalendarPermissions"},{"name":"requestRemindersPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's reminders."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.requestRemindersPermissions"},{"name":"useCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's calendars.\nThis uses both "},{"kind":"code","text":"`getCalendarPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestCalendarPermissions`"},{"kind":"text","text":" to interact\nwith the permissions.\nOn iOS, "},{"kind":"code","text":"`writeOnly`"},{"kind":"text","text":" requests permission to create calendar events without reading\nexisting calendars or events. It does not grant permission to create, update, or delete calendars."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useCalendarPermissions();\n```"}]}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"writeOnly","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}}]}}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}},"defaultValue":"..."},{"name":"useRemindersPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's reminders.\nThis uses both "},{"kind":"code","text":"`getRemindersPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestRemindersPermissions`"},{"kind":"text","text":" to interact\nwith the permissions."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useRemindersPermissions();\n```"}]}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}},"defaultValue":"..."},{"name":"createAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"createAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.createAttendee()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendar","variant":"declaration","kind":64,"signatures":[{"name":"createCalendar","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new calendar on the device, allowing events to be added later and displayed in the OS Calendar app."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the newly created calendar."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of details for the calendar to be created."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`createCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createEvent()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.addEventWithForm()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventData","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},{"type":"literal","value":"id"}],"name":"Omit","package":"typescript"},"defaultValue":"{}"},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"createReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createReminder()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"editEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"editEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.editInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getAttendeesForEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getAttendeesForEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.getAttendees()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendars","variant":"declaration","kind":64,"signatures":[{"name":"getCalendars","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects with details about the different calendars stored on the device."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects matching the provided entity type (if provided)."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"__iOS Only.__ Not required, but if defined, filters the returned calendars to\na specific [entity type](#entitytypes). Possible values are "},{"kind":"code","text":"`Calendar.EntityTypes.EVENT`"},{"kind":"text","text":" (for calendars shown in\nthe Calendar app) and "},{"kind":"code","text":"`Calendar.EntityTypes.REMINDER`"},{"kind":"text","text":" (for the Reminders app).\n> **Note:** If not defined, you will need both permissions: **CALENDAR** and **REMINDERS**."}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getDefaultCalendarSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarSync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an instance of the default calendar object."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object that is the user's default calendar."}]}]},"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}]},{"name":"getEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarEvent.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getEventsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`listEvents()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"startDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"getReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarReminder.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.listReminders()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"status","variant":"param","kind":32768,"type":{"type":"reference","name":"ReminderStatus","package":"expo-calendar"}},{"name":"startDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourceAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourceAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"Source","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourcesAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourcesAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getSourcesSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"isAvailableAsync","variant":"declaration","kind":64,"signatures":[{"name":"isAvailableAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"boolean"}],"name":"Promise","package":"typescript"}}]},{"name":"listEvents","variant":"declaration","kind":64,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Lists events from the device's calendar. It can be used to search events in multiple calendars.\n> **Note:** If you want to search events in a single calendar, you can use ["},{"kind":"code","text":"`ExpoCalendar.listEvents`"},{"kind":"text","text":"](#listeventsstartdate-enddate) instead."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) objects representing the events found."}]}]},"parameters":[{"name":"calendars","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"An array of calendar IDs ("},{"kind":"code","text":"`string[]`"},{"kind":"text","text":") or ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) objects to search for events."}]},"type":{"type":"array","elementType":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}]}}},{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The start date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The end date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"openEventInCalendar","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendar","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"openEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"OpenEventPresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"presentPicker","variant":"declaration","kind":64,"signatures":[{"name":"presentPicker","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the OS calendar picker and returns the selected calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" when the picker is cancelled."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"union","types":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},{"type":"literal","value":null}]}],"name":"Promise","package":"typescript"}}]},{"name":"requestCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"updateAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]}],"packageName":"expo-calendar"} \ No newline at end of file +{"schemaVersion":"2.0","name":"expo-calendar-next","variant":"project","kind":1,"children":[{"name":"AlarmMethod","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"ALARM","variant":"declaration","kind":16,"type":{"type":"literal","value":"alarm"}},{"name":"ALERT","variant":"declaration","kind":16,"type":{"type":"literal","value":"alert"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"EMAIL","variant":"declaration","kind":16,"type":{"type":"literal","value":"email"}},{"name":"SMS","variant":"declaration","kind":16,"type":{"type":"literal","value":"sms"}}]},{"name":"AttendeeRole","variant":"declaration","kind":8,"children":[{"name":"ATTENDEE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"attendee"}},{"name":"CHAIR","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"chair"}},{"name":"NON_PARTICIPANT","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"nonParticipant"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"ORGANIZER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"organizer"}},{"name":"PERFORMER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"performer"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"required"}},{"name":"SPEAKER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"speaker"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeStatus","variant":"declaration","kind":8,"children":[{"name":"ACCEPTED","variant":"declaration","kind":16,"type":{"type":"literal","value":"accepted"}},{"name":"COMPLETED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"completed"}},{"name":"DECLINED","variant":"declaration","kind":16,"type":{"type":"literal","value":"declined"}},{"name":"DELEGATED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"delegated"}},{"name":"IN_PROCESS","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"inProcess"}},{"name":"INVITED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"invited"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"PENDING","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"pending"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeType","variant":"declaration","kind":8,"children":[{"name":"GROUP","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"group"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"PERSON","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"person"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"required"}},{"name":"RESOURCE","variant":"declaration","kind":16,"type":{"type":"literal","value":"resource"}},{"name":"ROOM","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"room"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"Availability","variant":"declaration","kind":8,"children":[{"name":"BUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"busy"}},{"name":"FREE","variant":"declaration","kind":16,"type":{"type":"literal","value":"free"}},{"name":"NOT_SUPPORTED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"notSupported"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNAVAILABLE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unavailable"}}]},{"name":"CalendarAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONTRIBUTOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"contributor"}},{"name":"EDITOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"editor"}},{"name":"FREEBUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"freebusy"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"OVERRIDE","variant":"declaration","kind":16,"type":{"type":"literal","value":"override"}},{"name":"OWNER","variant":"declaration","kind":16,"type":{"type":"literal","value":"owner"}},{"name":"READ","variant":"declaration","kind":16,"type":{"type":"literal","value":"read"}},{"name":"RESPOND","variant":"declaration","kind":16,"type":{"type":"literal","value":"respond"}},{"name":"ROOT","variant":"declaration","kind":16,"type":{"type":"literal","value":"root"}}]},{"name":"CalendarDialogResultActions","variant":"declaration","kind":8,"comment":{"summary":[{"kind":"text","text":"Enum containing all possible user responses to the calendar UI dialogs. Depending on what dialog is presented, a subset of the values applies."}]},"children":[{"name":"canceled","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user canceled or dismissed the dialog."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"canceled"}},{"name":"deleted","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user deleted the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"deleted"}},{"name":"done","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"On Android, this is the only possible result because the OS doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, modified the event, or deleted it.\n\nOn iOS, this means the user simply closed the dialog."}]},"type":{"type":"literal","value":"done"}},{"name":"responded","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user responded to and saved a pending event invitation."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"responded"}},{"name":"saved","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user saved a new event or modified an existing one."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"saved"}}]},{"name":"CalendarType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"type":{"type":"literal","value":"unknown"}}]},{"name":"DayOfTheWeek","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"Friday","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"Monday","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"Saturday","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"Sunday","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"Thursday","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"Tuesday","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"Wednesday","variant":"declaration","kind":16,"type":{"type":"literal","value":4}}]},{"name":"EntityTypes","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"EVENT","variant":"declaration","kind":16,"type":{"type":"literal","value":"event"}},{"name":"REMINDER","variant":"declaration","kind":16,"type":{"type":"literal","value":"reminder"}}]},{"name":"EventAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONFIDENTIAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"confidential"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"PRIVATE","variant":"declaration","kind":16,"type":{"type":"literal","value":"private"}},{"name":"PUBLIC","variant":"declaration","kind":16,"type":{"type":"literal","value":"public"}}]},{"name":"EventStatus","variant":"declaration","kind":8,"children":[{"name":"CANCELED","variant":"declaration","kind":16,"type":{"type":"literal","value":"canceled"}},{"name":"CONFIRMED","variant":"declaration","kind":16,"type":{"type":"literal","value":"confirmed"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}}]},{"name":"Frequency","variant":"declaration","kind":8,"children":[{"name":"DAILY","variant":"declaration","kind":16,"type":{"type":"literal","value":"daily"}},{"name":"MONTHLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"monthly"}},{"name":"WEEKLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"weekly"}},{"name":"YEARLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"yearly"}}]},{"name":"MonthOfTheYear","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"April","variant":"declaration","kind":16,"type":{"type":"literal","value":4}},{"name":"August","variant":"declaration","kind":16,"type":{"type":"literal","value":8}},{"name":"December","variant":"declaration","kind":16,"type":{"type":"literal","value":12}},{"name":"February","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"January","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"July","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"June","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"March","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"May","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"November","variant":"declaration","kind":16,"type":{"type":"literal","value":11}},{"name":"October","variant":"declaration","kind":16,"type":{"type":"literal","value":10}},{"name":"September","variant":"declaration","kind":16,"type":{"type":"literal","value":9}}]},{"name":"ReminderStatus","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"COMPLETED","variant":"declaration","kind":16,"type":{"type":"literal","value":"completed"}},{"name":"INCOMPLETE","variant":"declaration","kind":16,"type":{"type":"literal","value":"incomplete"}}]},{"name":"SourceType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"MOBILEME","variant":"declaration","kind":16,"type":{"type":"literal","value":"mobileme"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}}]},{"name":"ExpoCalendar","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar object that can be accessed and modified using the Expo Calendar Next API.\n\nThis class provides properties and methods for interacting with a specific calendar on the device,\nsuch as retrieving its events, updating its details, and accessing its metadata."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendar","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Level of access that the user has for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"CalendarAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.accessLevel"}},{"name":"allowedAttendeeTypes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Attendee types that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AttendeeType","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAttendeeTypes"}},{"name":"allowedAvailabilities","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Availability types that this calendar supports."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Availability","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAvailabilities"}},{"name":"allowedReminders","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Alarm methods that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedReminders"}},{"name":"allowsModifications","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value that determines whether this calendar can be modified."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowsModifications"}},{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Color used to display this calendar's events."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.color"}},{"name":"entityType","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the calendar is used in the Calendar or Reminders OS app."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.entityType"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this calendar on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.id"}},{"name":"isPrimary","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether this is the device's primary calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isPrimary"}},{"name":"isSynced","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether this calendar is synced and its events stored on the device.\nUnexpected behavior may occur if this is not set to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isSynced"}},{"name":"isVisible","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether the OS displays events on this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isVisible"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal system name of the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.name"}},{"name":"ownerAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.ownerAccount"}},{"name":"source","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing the source to be used for the calendar."}]},"type":{"type":"reference","name":"Source","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.source"}},{"name":"sourceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the source to be used for the calendar. Likely the same as the source for any other\nlocally stored calendars."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.sourceId"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the calendar."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.title"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of calendar this object represents."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"CalendarType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.type"}},{"name":"addEventWithForm","variant":"declaration","kind":2048,"signatures":[{"name":"addEventWithForm","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the system-provided dialog to create a new event in this calendar, pre-filled with the provided data.\nRequires at minimum write-only calendar permission."}]},"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"AddEventWithFormOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}},{"name":"createEvent","variant":"declaration","kind":2048,"signatures":[{"name":"createEvent","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new event in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created event."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"creationDate"},{"type":"literal","value":"lastModifiedDate"},{"type":"literal","value":"originalStartDate"},{"type":"literal","value":"isDetached"},{"type":"literal","value":"status"},{"type":"literal","value":"organizer"}]}],"name":"Omit","package":"typescript"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}},{"name":"createReminder","variant":"declaration","kind":2048,"signatures":[{"name":"createReminder","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new reminder in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created reminder."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"delete","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Deletes the calendar."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}},{"name":"listEvents","variant":"declaration","kind":2048,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a calendar event list for the given date range."}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}},{"name":"listReminders","variant":"declaration","kind":2048,"signatures":[{"name":"listReminders","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a list of reminders matching the provided criteria. If "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" and "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" are defined,\nreturns all reminders that overlap at all with the "},{"kind":"code","text":"`[startDate, endDate]`"},{"kind":"text","text":" interval, that is, all reminders\nthat end after the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" or begin before the "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) objects matching the search criteria."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Beginning of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders before "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"End of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders after "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"status","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"One of "},{"kind":"code","text":"`Calendar.ReminderStatus.COMPLETED`"},{"kind":"text","text":" or "},{"kind":"code","text":"`Calendar.ReminderStatus.INCOMPLETE`"},{"kind":"text","text":". If not defined, both completed and incomplete reminders will be returned."}]},"type":{"type":"union","types":[{"type":"reference","name":"ReminderStatus","package":"expo-calendar"},{"type":"literal","value":null}]},"defaultValue":"null"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableCalendarProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a calendar by its ID. Throws an error if the calendar with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the calendar."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the calendar to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"}]},{"name":"ExpoCalendarAttendee","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar attendee object."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarAttendee","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}},{"name":"email","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email of the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.email"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this attendee on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.id"}},{"name":"isCurrentUser","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not this attendee is the current OS user."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.isCurrentUser"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Displayed name of the attendee."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.name"}},{"name":"role","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Role of the attendee at the event."}]},"type":{"type":"reference","name":"AttendeeRole","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.role"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the attendee in relation to the event."}]},"type":{"type":"reference","name":"AttendeeStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.status"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of the attendee."}]},"type":{"type":"reference","name":"AttendeeType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.type"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.url"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ModifiableAttendeeProperties"},"name":"ModifiableAttendeeProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"},"name":"ExpoCalendarAttendee","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"}]},{"name":"ExpoCalendarEvent","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar event object that can be accessed and modified using the Expo Calendar Next API."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarEvent","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"User's access level for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"EventAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.accessLevel"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated reminders to the user."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the event is displayed as an all-day event on the calendar"}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.allDay"}},{"name":"availability","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"The availability setting for the event."}]},"type":{"type":"reference","name":"Availability","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.availability"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.calendarId"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was created."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.creationDate"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event ends."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endDate"}},{"name":"endTimeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the end date of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endTimeZone"}},{"name":"guestsCanInviteOthers","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can invite other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanInviteOthers"}},{"name":"guestsCanModify","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can modify the details of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanModify"}},{"name":"guestsCanSeeGuests","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can see other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanSeeGuests"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this event on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.id"}},{"name":"instanceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For instances of recurring events, volatile ID representing this instance. Not guaranteed to\nalways refer to the same instance."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.instanceId"}},{"name":"isDetached","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether or not the event is a detached (modified) instance of a recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.isDetached"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was last modified."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the event."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.notes"}},{"name":"organizer","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Organizer of the event.\nThis property is only available on events associated with calendars that are managed by a service such as Google Calendar or iCloud.\nThe organizer is read-only and cannot be set."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Organizer"},"name":"Organizer","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizer"}},{"name":"organizerEmail","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email address of the organizer of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizerEmail"}},{"name":"originalId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For detached (modified) instances of recurring events, the ID of the original recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalId"}},{"name":"originalStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For recurring events, the start date for the first (original) instance of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalStartDate"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeating events. Set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time events.\nIt is either "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" or "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" based."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event starts."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.startDate"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the event."}]},"type":{"type":"reference","name":"EventStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.status"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the event is scheduled in.\nWhen set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":", the event is scheduled to the device's time zone."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.url"}},{"name":"createAttendee","variant":"declaration","kind":2048,"signatures":[{"name":"createAttendee","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new attendee and adds it to this event."}]},"parameters":[{"name":"attendee","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the event."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}},{"name":"editInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"editInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to edit or delete an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogParamsNext"},"name":"CalendarDialogParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}},{"name":"getAttendees","variant":"declaration","kind":2048,"signatures":[{"name":"getAttendees","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets all attendees for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`Attendee`"},{"kind":"text","text":"](#attendee) associated with the specified event."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}},{"name":"getOccurrenceSync","variant":"declaration","kind":2048,"signatures":[{"name":"getOccurrenceSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns an event instance for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An event instance."}]}]},"parameters":[{"name":"recurringEventOptions","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of options for recurring events."}]},"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}},{"name":"openInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"openInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to preview an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogOpenParamsNext"},"name":"CalendarDialogOpenParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableEventProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an event by its ID. Throws an error if the event with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) object representing the event."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the event to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"}]},{"name":"ExpoCalendarReminder","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar reminder object that can be accessed and modified using the Expo Calendar Next API."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarReminder","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated alarms to the user about the task."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the reminder is an all-day reminder."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.allDay"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.calendarId"}},{"name":"completed","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not the task has been completed."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completed"}},{"name":"completionDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the date of completion, if "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" is "},{"kind":"code","text":"`true`"},{"kind":"text","text":".\nSetting this property of a nonnull "},{"kind":"code","text":"`Date`"},{"kind":"text","text":" will automatically set the reminder's "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" value to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completionDate"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was created."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.creationDate"}},{"name":"dueDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the reminder task is due."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.dueDate"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this reminder on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.id"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was last modified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the reminder"}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.notes"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeated reminders. "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time tasks."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the start date of the reminder task."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.startDate"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the reminder is scheduled in."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.url"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the reminder."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableReminderProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a reminder by its ID. Throws an error if the reminder with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) object representing the reminder."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"reminderId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the reminder to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"}]},{"name":"AddEventWithFormOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}}]}}]}},{"name":"Alarm","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A method for having the OS automatically remind the user about a calendar item."}]},"children":[{"name":"absoluteDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing an absolute time the alarm should occur.\nOverrides "},{"kind":"code","text":"`relativeOffset`"},{"kind":"text","text":" and "},{"kind":"code","text":"`structuredLocation`"},{"kind":"text","text":" if specified alongside either."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"method","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Method of alerting the user that this alarm should use. On iOS this is always a notification."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},{"name":"relativeOffset","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of minutes from the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" of the calendar item that the alarm should occur.\nUse negative values to have the alarm occur before the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"structuredLocation","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"AlarmLocation","package":"expo-calendar"}}]},{"name":"AlarmLocation","variant":"declaration","kind":2097152,"children":[{"name":"coords","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"latitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"longitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"proximity","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"radius","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"CalendarDialogParams","variant":"declaration","kind":2097152,"children":[{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"ID of the event to be presented in the calendar UI."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"DaysOfTheWeek","variant":"declaration","kind":2097152,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"dayOfTheWeek","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Sunday to Saturday - "},{"kind":"code","text":"`DayOfTheWeek`"},{"kind":"text","text":" enum."}]},"type":{"type":"reference","name":"DayOfTheWeek","package":"expo-calendar"}},{"name":"weekNumber","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" ("},{"kind":"code","text":"`0`"},{"kind":"text","text":" ignores this field, and a negative indicates a value from the end of the range)."}]},"type":{"type":"intrinsic","name":"number"}}]},{"name":"DialogEventResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting a calendar dialog for creating or editing an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How user responded to the dialog.\nOn Android, this is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":" (Android doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, saved or deleted the event).\n\nOn iOS, it can be "},{"kind":"code","text":"`saved`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":" or "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"saved"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"}]}],"name":"Extract","package":"typescript"}},{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"The ID of the event that was created or edited. On Android, this is always "},{"kind":"code","text":"`null`"},{"kind":"text","text":".\n\nOn iOS, this is a string when permissions are granted and user confirms the creation or editing of an event. Otherwise, it's "},{"kind":"code","text":"`null`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]}}]},{"name":"ModifiableCalendarProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"color"},{"type":"literal","value":"title"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableEventProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"availability"},{"type":"literal","value":"startDate"},{"type":"literal","value":"endDate"},{"type":"literal","value":"allDay"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableReminderProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"startDate"},{"type":"literal","value":"dueDate"},{"type":"literal","value":"completed"},{"type":"literal","value":"completionDate"}]}],"name":"Pick","package":"typescript"}},{"name":"OpenEventDialogResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting the calendar dialog for opening (viewing) an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates how user responded to the dialog.\nOn Android, the "},{"kind":"code","text":"`action`"},{"kind":"text","text":" is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":".\nOn iOS, it can be "},{"kind":"code","text":"`done`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":", "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":" or "},{"kind":"code","text":"`responded`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"},{"type":"literal","value":"responded"}]}],"name":"Extract","package":"typescript"}}]},{"name":"OpenEventPresentationOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"allowsCalendarPreview","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Determines whether event can be shown in calendar day view preview.\nThis property applies only to invitations."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"allowsEditing","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to allow the user to edit the previewed event.\nThis property applies only to events in calendars created by the user.\n\nNote that if the user edits the event, the returned action is the one that user performs last.\nFor example, when user previews the event, confirms some edits and finally dismisses the dialog, the event is edited, but response is "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]}}]}},{"name":"PermissionExpiration","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Permission expiration time. Currently, all permissions are granted permanently."}]},"type":{"type":"union","types":[{"type":"literal","value":"never"},{"type":"intrinsic","name":"number"}]}},{"name":"PermissionHookOptions","variant":"declaration","kind":2097152,"typeParameters":[{"name":"Options","variant":"typeParam","kind":131072,"type":{"type":"intrinsic","name":"object"}}],"type":{"type":"intersection","types":[{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"PermissionHookBehavior"},"name":"PermissionHookBehavior","package":"expo-modules-core"},{"type":"reference","name":"Options","package":"expo-modules-core","refersToTypeParameter":true}]}},{"name":"PermissionResponse","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"An object obtained by permissions get and request functions."}]},"children":[{"name":"canAskAgain","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates if user can be asked again for specific permission.\nIf not, one should be directed to the Settings app\nin order to enable/disable the permission."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"expires","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines time when the permission expires."}]},"type":{"type":"reference","name":"PermissionExpiration","package":"expo-modules-core"}},{"name":"granted","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"A convenience boolean that indicates if the permission is granted."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"status","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines the status of the permission."}]},"type":{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsInterface.ts","qualifiedName":"PermissionStatus"},"name":"PermissionStatus","package":"expo-modules-core"}}]},{"name":"PresentationOptions","variant":"declaration","kind":2097152,"children":[{"name":"startNewActivityTask","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to launch the Activity as a new [task](https://developer.android.com/reference/android/content/Intent#FLAG_ACTIVITY_NEW_TASK).\nIf "},{"kind":"code","text":"`true`"},{"kind":"text","text":", the promise resolves with "},{"kind":"code","text":"`'done'`"},{"kind":"text","text":" action immediately after opening the calendar activity."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]},{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]},{"name":"RecurrenceRule","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A recurrence rule for events or reminders, allowing the same calendar item to recur multiple times.\nThis type is based on [the iOS interface](https://developer.apple.com/documentation/eventkit/ekrecurrencerule/1507320-initrecurrencewithfrequency)\nwhich is in turn based on [the iCal RFC](https://tools.ietf.org/html/rfc5545#section-3.8.5.3)\nso you can refer to those to learn more about this potentially complex interface.\n\nNot all the combinations make sense. For example, when frequency is "},{"kind":"code","text":"`DAILY`"},{"kind":"text","text":", setting "},{"kind":"code","text":"`daysOfTheMonth`"},{"kind":"text","text":" makes no sense."}]},"children":[{"name":"daysOfTheMonth","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the month this event occurs on.\n"},{"kind":"code","text":"`-31`"},{"kind":"text","text":" to "},{"kind":"code","text":"`31`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Monthly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"daysOfTheWeek","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the week the event should recur on. An array of ["},{"kind":"code","text":"`DaysOfTheWeek`"},{"kind":"text","text":"](#daysoftheweek) object."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"DaysOfTheWeek","package":"expo-calendar"}}},{"name":"daysOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the year this event occurs on.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date on which the calendar item should stop recurring; overrides "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" if both are specified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"frequency","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How often the calendar item should recur."}]},"type":{"type":"reference","name":"Frequency","package":"expo-calendar"}},{"name":"interval","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interval at which the calendar item should recur. For example, an "},{"kind":"code","text":"`interval: 2`"},{"kind":"text","text":" with "},{"kind":"code","text":"`frequency: DAILY`"},{"kind":"text","text":"\nwould yield an event that recurs every other day."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"1"}]}]},"type":{"type":"intrinsic","name":"number"}},{"name":"monthsOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The months this event occurs on.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"MonthOfTheYear","package":"expo-calendar"}}},{"name":"occurrence","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of times the calendar item should recur before stopping."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"setPositions","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"TAn array of numbers that filters which recurrences to include. For example, for an event that\nrecurs every Monday, passing 2 here will make it recur every other Monday.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"weeksOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The weeks of the year this event occurs on.\n"},{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}}]},{"name":"RecurringEventOptions","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Options for specifying a particular instance of a recurring event.\nThis type is used in various methods that operate on recurring events, such as updating or deleting a single occurrence or a set of future occurrences."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"futureEvents","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether future events in the recurring series should also be updated. If "},{"kind":"code","text":"`true`"},{"kind":"text","text":", will\napply the given changes to the recurring instance specified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":" and all\nfuture events in the series. If "},{"kind":"code","text":"`false`"},{"kind":"text","text":", will only apply the given changes to the instance\nspecified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"Source","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A source account that owns a particular calendar. Expo apps will typically not need to interact with "},{"kind":"code","text":"`Source`"},{"kind":"text","text":" objects."}]},"children":[{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this source on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"isLocalAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether this source is the local phone account. Must be "},{"kind":"code","text":"`true`"},{"kind":"text","text":" if "},{"kind":"code","text":"`type`"},{"kind":"text","text":" is "},{"kind":"code","text":"`undefined`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"name","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar and was used to sync the calendar to the device."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"type","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Type of the account that owns this calendar and was used to sync it to the device.\nIf "},{"kind":"code","text":"`isLocalAccount`"},{"kind":"text","text":" is falsy then this must be defined, and must match an account on the device\nalong with "},{"kind":"code","text":"`name`"},{"kind":"text","text":", or the OS will delete the calendar.\nOn iOS, one of ["},{"kind":"code","text":"`SourceType`"},{"kind":"text","text":"](#sourcetype)s."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"SourceType","package":"expo-calendar"}]}}]},{"name":"getCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to check write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.getCalendarPermissions"},{"name":"requestCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to request write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.requestCalendarPermissions"},{"name":"useCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's calendars.\nThis uses both "},{"kind":"code","text":"`getCalendarPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestCalendarPermissions`"},{"kind":"text","text":" to interact\nwith the permissions.\nOn iOS, "},{"kind":"code","text":"`writeOnly`"},{"kind":"text","text":" requests permission to create calendar events without reading\nexisting calendars or events. It does not grant permission to create, update, or delete calendars."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useCalendarPermissions();\n```"}]}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"writeOnly","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}}]}}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}},"defaultValue":"..."},{"name":"createAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"createAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.createAttendee()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendar","variant":"declaration","kind":64,"signatures":[{"name":"createCalendar","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new calendar on the device, allowing events to be added later and displayed in the OS Calendar app."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the newly created calendar."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of details for the calendar to be created."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`createCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createEvent()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.addEventWithForm()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventData","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},{"type":"literal","value":"id"}],"name":"Omit","package":"typescript"},"defaultValue":"{}"},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"createReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createReminder()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"editEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"editEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.editInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getAttendeesForEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getAttendeesForEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.getAttendees()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendars","variant":"declaration","kind":64,"signatures":[{"name":"getCalendars","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects with details about the different calendars stored on the device."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects matching the provided entity type (if provided)."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"__iOS Only.__ Not required, but if defined, filters the returned calendars to\na specific [entity type](#entitytypes). Possible values are "},{"kind":"code","text":"`Calendar.EntityTypes.EVENT`"},{"kind":"text","text":" (for calendars shown in\nthe Calendar app) and "},{"kind":"code","text":"`Calendar.EntityTypes.REMINDER`"},{"kind":"text","text":" (for the Reminders app).\n> **Note:** If not defined, you will need both permissions: **CALENDAR** and **REMINDERS**."}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getDefaultCalendarSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarSync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an instance of the default calendar object.\n> **Android:** This function is not available on Android. Android does not expose a single\n> system-managed default calendar. Use "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" and choose an appropriate writable\n> calendar for your app; "},{"kind":"code","text":"`isPrimary`"},{"kind":"text","text":" can help identify per-account primary calendars."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object that is the user's default calendar."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}]},{"name":"getEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarEvent.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getEventsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`listEvents()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"startDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"getReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarReminder.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.listReminders()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"status","variant":"param","kind":32768,"type":{"type":"reference","name":"ReminderStatus","package":"expo-calendar"}},{"name":"startDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersPermissions","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersPermissions","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's reminders."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourceAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourceAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"Source","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourcesAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourcesAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getSourcesSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getSourcesSync","variant":"declaration","kind":64,"signatures":[{"name":"getSourcesSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an array of Source objects with details about the different sources stored on the device.\n> **Android:** This function is not available on Android. Android does not expose a\n> first-class calendar sources API. If you need account-like source information, call\n> "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" and inspect each calendar's "},{"kind":"code","text":"`source`"},{"kind":"text","text":" field."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of Source objects representing the sources found."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}}]},{"name":"isAvailableAsync","variant":"declaration","kind":64,"signatures":[{"name":"isAvailableAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"boolean"}],"name":"Promise","package":"typescript"}}]},{"name":"listEvents","variant":"declaration","kind":64,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Lists events from the device's calendar. It can be used to search events in multiple calendars.\n> **Note:** If you want to search events in a single calendar, you can use ["},{"kind":"code","text":"`ExpoCalendar.listEvents`"},{"kind":"text","text":"](#listeventsstartdate-enddate) instead."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) objects representing the events found."}]}]},"parameters":[{"name":"calendars","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"An array of calendar IDs ("},{"kind":"code","text":"`string[]`"},{"kind":"text","text":") or ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) objects to search for events."}]},"type":{"type":"array","elementType":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}]}}},{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The start date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The end date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"openEventInCalendar","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendar","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"openEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"OpenEventPresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"presentPicker","variant":"declaration","kind":64,"signatures":[{"name":"presentPicker","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the OS calendar picker and returns the selected calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" when the picker is cancelled."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"union","types":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},{"type":"literal","value":null}]}],"name":"Promise","package":"typescript"}}]},{"name":"requestCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestRemindersPermissions","variant":"declaration","kind":64,"signatures":[{"name":"requestRemindersPermissions","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's reminders."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"updateAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"useRemindersPermissions","variant":"declaration","kind":64,"signatures":[{"name":"useRemindersPermissions","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's reminders.\nThis uses both "},{"kind":"code","text":"`getRemindersPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestRemindersPermissions`"},{"kind":"text","text":" to interact\nwith the permissions."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useRemindersPermissions();\n```"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}],"packageName":"expo-calendar"} \ No newline at end of file diff --git a/docs/public/static/data/unversioned/expo-calendar.json b/docs/public/static/data/unversioned/expo-calendar.json index a318a19adce6c4..955f3459d6f1cd 100644 --- a/docs/public/static/data/unversioned/expo-calendar.json +++ b/docs/public/static/data/unversioned/expo-calendar.json @@ -1 +1 @@ -{"schemaVersion":"2.0","name":"expo-calendar","variant":"project","kind":1,"children":[{"name":"AlarmMethod","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"ALARM","variant":"declaration","kind":16,"type":{"type":"literal","value":"alarm"}},{"name":"ALERT","variant":"declaration","kind":16,"type":{"type":"literal","value":"alert"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"EMAIL","variant":"declaration","kind":16,"type":{"type":"literal","value":"email"}},{"name":"SMS","variant":"declaration","kind":16,"type":{"type":"literal","value":"sms"}}]},{"name":"AttendeeRole","variant":"declaration","kind":8,"children":[{"name":"ATTENDEE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"attendee"}},{"name":"CHAIR","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"chair"}},{"name":"NON_PARTICIPANT","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"nonParticipant"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"ORGANIZER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"organizer"}},{"name":"PERFORMER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"performer"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"required"}},{"name":"SPEAKER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"speaker"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeStatus","variant":"declaration","kind":8,"children":[{"name":"ACCEPTED","variant":"declaration","kind":16,"type":{"type":"literal","value":"accepted"}},{"name":"COMPLETED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"completed"}},{"name":"DECLINED","variant":"declaration","kind":16,"type":{"type":"literal","value":"declined"}},{"name":"DELEGATED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"delegated"}},{"name":"IN_PROCESS","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"inProcess"}},{"name":"INVITED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"invited"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"PENDING","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"pending"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeType","variant":"declaration","kind":8,"children":[{"name":"GROUP","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"group"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"PERSON","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"person"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"required"}},{"name":"RESOURCE","variant":"declaration","kind":16,"type":{"type":"literal","value":"resource"}},{"name":"ROOM","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"room"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"Availability","variant":"declaration","kind":8,"children":[{"name":"BUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"busy"}},{"name":"FREE","variant":"declaration","kind":16,"type":{"type":"literal","value":"free"}},{"name":"NOT_SUPPORTED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"notSupported"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNAVAILABLE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unavailable"}}]},{"name":"CalendarAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONTRIBUTOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"contributor"}},{"name":"EDITOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"editor"}},{"name":"FREEBUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"freebusy"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"OVERRIDE","variant":"declaration","kind":16,"type":{"type":"literal","value":"override"}},{"name":"OWNER","variant":"declaration","kind":16,"type":{"type":"literal","value":"owner"}},{"name":"READ","variant":"declaration","kind":16,"type":{"type":"literal","value":"read"}},{"name":"RESPOND","variant":"declaration","kind":16,"type":{"type":"literal","value":"respond"}},{"name":"ROOT","variant":"declaration","kind":16,"type":{"type":"literal","value":"root"}}]},{"name":"CalendarDialogResultActions","variant":"declaration","kind":8,"comment":{"summary":[{"kind":"text","text":"Enum containing all possible user responses to the calendar UI dialogs. Depending on what dialog is presented, a subset of the values applies."}]},"children":[{"name":"canceled","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user canceled or dismissed the dialog."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"canceled"}},{"name":"deleted","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user deleted the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"deleted"}},{"name":"done","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"On Android, this is the only possible result because the OS doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, modified the event, or deleted it.\n\nOn iOS, this means the user simply closed the dialog."}]},"type":{"type":"literal","value":"done"}},{"name":"responded","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user responded to and saved a pending event invitation."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"responded"}},{"name":"saved","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user saved a new event or modified an existing one."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"saved"}}]},{"name":"CalendarType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"type":{"type":"literal","value":"unknown"}}]},{"name":"DayOfTheWeek","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"Friday","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"Monday","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"Saturday","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"Sunday","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"Thursday","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"Tuesday","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"Wednesday","variant":"declaration","kind":16,"type":{"type":"literal","value":4}}]},{"name":"EntityTypes","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"EVENT","variant":"declaration","kind":16,"type":{"type":"literal","value":"event"}},{"name":"REMINDER","variant":"declaration","kind":16,"type":{"type":"literal","value":"reminder"}}]},{"name":"EventAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONFIDENTIAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"confidential"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"PRIVATE","variant":"declaration","kind":16,"type":{"type":"literal","value":"private"}},{"name":"PUBLIC","variant":"declaration","kind":16,"type":{"type":"literal","value":"public"}}]},{"name":"EventStatus","variant":"declaration","kind":8,"children":[{"name":"CANCELED","variant":"declaration","kind":16,"type":{"type":"literal","value":"canceled"}},{"name":"CONFIRMED","variant":"declaration","kind":16,"type":{"type":"literal","value":"confirmed"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}}]},{"name":"Frequency","variant":"declaration","kind":8,"children":[{"name":"DAILY","variant":"declaration","kind":16,"type":{"type":"literal","value":"daily"}},{"name":"MONTHLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"monthly"}},{"name":"WEEKLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"weekly"}},{"name":"YEARLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"yearly"}}]},{"name":"MonthOfTheYear","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"April","variant":"declaration","kind":16,"type":{"type":"literal","value":4}},{"name":"August","variant":"declaration","kind":16,"type":{"type":"literal","value":8}},{"name":"December","variant":"declaration","kind":16,"type":{"type":"literal","value":12}},{"name":"February","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"January","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"July","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"June","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"March","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"May","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"November","variant":"declaration","kind":16,"type":{"type":"literal","value":11}},{"name":"October","variant":"declaration","kind":16,"type":{"type":"literal","value":10}},{"name":"September","variant":"declaration","kind":16,"type":{"type":"literal","value":9}}]},{"name":"ReminderStatus","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"COMPLETED","variant":"declaration","kind":16,"type":{"type":"literal","value":"completed"}},{"name":"INCOMPLETE","variant":"declaration","kind":16,"type":{"type":"literal","value":"incomplete"}}]},{"name":"SourceType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"MOBILEME","variant":"declaration","kind":16,"type":{"type":"literal","value":"mobileme"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}}]},{"name":"ExpoCalendar","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar object that can be accessed and modified using the Expo Calendar Next API.\n\nThis class provides properties and methods for interacting with a specific calendar on the device,\nsuch as retrieving its events, updating its details, and accessing its metadata."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendar","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Level of access that the user has for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"CalendarAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.accessLevel"}},{"name":"allowedAttendeeTypes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Attendee types that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AttendeeType","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAttendeeTypes"}},{"name":"allowedAvailabilities","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Availability types that this calendar supports."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Availability","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAvailabilities"}},{"name":"allowedReminders","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Alarm methods that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedReminders"}},{"name":"allowsModifications","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value that determines whether this calendar can be modified."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowsModifications"}},{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Color used to display this calendar's events."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.color"}},{"name":"entityType","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the calendar is used in the Calendar or Reminders OS app."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.entityType"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this calendar on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.id"}},{"name":"isPrimary","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether this is the device's primary calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isPrimary"}},{"name":"isSynced","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether this calendar is synced and its events stored on the device.\nUnexpected behavior may occur if this is not set to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isSynced"}},{"name":"isVisible","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether the OS displays events on this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isVisible"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal system name of the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.name"}},{"name":"ownerAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.ownerAccount"}},{"name":"source","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing the source to be used for the calendar."}]},"type":{"type":"reference","name":"Source","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.source"}},{"name":"sourceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the source to be used for the calendar. Likely the same as the source for any other\nlocally stored calendars."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.sourceId"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the calendar."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.title"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of calendar this object represents."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"CalendarType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.type"}},{"name":"addEventWithForm","variant":"declaration","kind":2048,"signatures":[{"name":"addEventWithForm","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the system-provided dialog to create a new event in this calendar, pre-filled with the provided data.\nRequires at minimum write-only calendar permission."}]},"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"AddEventWithFormOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}},{"name":"createEvent","variant":"declaration","kind":2048,"signatures":[{"name":"createEvent","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new event in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created event."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"creationDate"},{"type":"literal","value":"lastModifiedDate"},{"type":"literal","value":"originalStartDate"},{"type":"literal","value":"isDetached"},{"type":"literal","value":"status"},{"type":"literal","value":"organizer"}]}],"name":"Omit","package":"typescript"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}},{"name":"createReminder","variant":"declaration","kind":2048,"signatures":[{"name":"createReminder","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new reminder in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created reminder."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"delete","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Deletes the calendar."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}},{"name":"listEvents","variant":"declaration","kind":2048,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a calendar event list for the given date range."}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}},{"name":"listReminders","variant":"declaration","kind":2048,"signatures":[{"name":"listReminders","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a list of reminders matching the provided criteria. If "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" and "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" are defined,\nreturns all reminders that overlap at all with the "},{"kind":"code","text":"`[startDate, endDate]`"},{"kind":"text","text":" interval, that is, all reminders\nthat end after the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" or begin before the "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) objects matching the search criteria."}]}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Beginning of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders before "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"End of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders after "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"status","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"One of "},{"kind":"code","text":"`Calendar.ReminderStatus.COMPLETED`"},{"kind":"text","text":" or "},{"kind":"code","text":"`Calendar.ReminderStatus.INCOMPLETE`"},{"kind":"text","text":". If not defined, both completed and incomplete reminders will be returned."}]},"type":{"type":"union","types":[{"type":"reference","name":"ReminderStatus","package":"expo-calendar"},{"type":"literal","value":null}]},"defaultValue":"null"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableCalendarProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a calendar by its ID. Throws an error if the calendar with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the calendar."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the calendar to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"}]},{"name":"ExpoCalendarAttendee","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar attendee object."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarAttendee","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}},{"name":"email","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email of the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.email"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this attendee on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.id"}},{"name":"isCurrentUser","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not this attendee is the current OS user."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.isCurrentUser"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Displayed name of the attendee."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.name"}},{"name":"role","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Role of the attendee at the event."}]},"type":{"type":"reference","name":"AttendeeRole","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.role"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the attendee in relation to the event."}]},"type":{"type":"reference","name":"AttendeeStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.status"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of the attendee."}]},"type":{"type":"reference","name":"AttendeeType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.type"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.url"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ModifiableAttendeeProperties"},"name":"ModifiableAttendeeProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"},"name":"ExpoCalendarAttendee","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"}]},{"name":"ExpoCalendarEvent","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar event object that can be accessed and modified using the Expo Calendar Next API."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarEvent","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"User's access level for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"EventAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.accessLevel"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated reminders to the user."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the event is displayed as an all-day event on the calendar"}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.allDay"}},{"name":"availability","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"The availability setting for the event."}]},"type":{"type":"reference","name":"Availability","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.availability"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.calendarId"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was created."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.creationDate"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event ends."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endDate"}},{"name":"endTimeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the end date of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endTimeZone"}},{"name":"guestsCanInviteOthers","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can invite other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanInviteOthers"}},{"name":"guestsCanModify","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can modify the details of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanModify"}},{"name":"guestsCanSeeGuests","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can see other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanSeeGuests"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this event on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.id"}},{"name":"instanceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For instances of recurring events, volatile ID representing this instance. Not guaranteed to\nalways refer to the same instance."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.instanceId"}},{"name":"isDetached","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether or not the event is a detached (modified) instance of a recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.isDetached"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was last modified."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the event."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.notes"}},{"name":"organizer","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Organizer of the event.\nThis property is only available on events associated with calendars that are managed by a service such as Google Calendar or iCloud.\nThe organizer is read-only and cannot be set."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Organizer"},"name":"Organizer","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizer"}},{"name":"organizerEmail","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email address of the organizer of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizerEmail"}},{"name":"originalId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For detached (modified) instances of recurring events, the ID of the original recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalId"}},{"name":"originalStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For recurring events, the start date for the first (original) instance of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalStartDate"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeating events. Set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time events.\nIt is either "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" or "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" based."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event starts."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.startDate"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the event."}]},"type":{"type":"reference","name":"EventStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.status"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the event is scheduled in.\nWhen set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":", the event is scheduled to the device's time zone."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.url"}},{"name":"createAttendee","variant":"declaration","kind":2048,"signatures":[{"name":"createAttendee","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new attendee and adds it to this event."}]},"parameters":[{"name":"attendee","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the event."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}},{"name":"editInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"editInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to edit or delete an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogParamsNext"},"name":"CalendarDialogParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}},{"name":"getAttendees","variant":"declaration","kind":2048,"signatures":[{"name":"getAttendees","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets all attendees for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`Attendee`"},{"kind":"text","text":"](#attendee) associated with the specified event."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}},{"name":"getOccurrenceSync","variant":"declaration","kind":2048,"signatures":[{"name":"getOccurrenceSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns an event instance for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An event instance."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"recurringEventOptions","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of options for recurring events."}]},"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}},{"name":"openInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"openInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to preview an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogOpenParamsNext"},"name":"CalendarDialogOpenParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableEventProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an event by its ID. Throws an error if the event with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) object representing the event."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the event to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"}]},{"name":"ExpoCalendarReminder","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar reminder object that can be accessed and modified using the Expo Calendar Next API."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarReminder","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated alarms to the user about the task."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the reminder is an all-day reminder."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.allDay"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.calendarId"}},{"name":"completed","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not the task has been completed."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completed"}},{"name":"completionDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the date of completion, if "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" is "},{"kind":"code","text":"`true`"},{"kind":"text","text":".\nSetting this property of a nonnull "},{"kind":"code","text":"`Date`"},{"kind":"text","text":" will automatically set the reminder's "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" value to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completionDate"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was created."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.creationDate"}},{"name":"dueDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the reminder task is due."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.dueDate"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this reminder on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.id"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was last modified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the reminder"}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.notes"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeated reminders. "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time tasks."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the start date of the reminder task."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.startDate"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the reminder is scheduled in."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.url"}},{"name":"delete","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"delete","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Deletes the reminder."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableReminderProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a reminder by its ID. Throws an error if the reminder with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) object representing the reminder."}]}]},"parameters":[{"name":"reminderId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the reminder to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"}]},{"name":"AddEventWithFormOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}}]}}]}},{"name":"Alarm","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A method for having the OS automatically remind the user about a calendar item."}]},"children":[{"name":"absoluteDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing an absolute time the alarm should occur.\nOverrides "},{"kind":"code","text":"`relativeOffset`"},{"kind":"text","text":" and "},{"kind":"code","text":"`structuredLocation`"},{"kind":"text","text":" if specified alongside either."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"method","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Method of alerting the user that this alarm should use. On iOS this is always a notification."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},{"name":"relativeOffset","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of minutes from the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" of the calendar item that the alarm should occur.\nUse negative values to have the alarm occur before the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"structuredLocation","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"AlarmLocation","package":"expo-calendar"}}]},{"name":"AlarmLocation","variant":"declaration","kind":2097152,"children":[{"name":"coords","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"latitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"longitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"proximity","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"radius","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"CalendarDialogParams","variant":"declaration","kind":2097152,"children":[{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"ID of the event to be presented in the calendar UI."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"DaysOfTheWeek","variant":"declaration","kind":2097152,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"dayOfTheWeek","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Sunday to Saturday - "},{"kind":"code","text":"`DayOfTheWeek`"},{"kind":"text","text":" enum."}]},"type":{"type":"reference","name":"DayOfTheWeek","package":"expo-calendar"}},{"name":"weekNumber","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" ("},{"kind":"code","text":"`0`"},{"kind":"text","text":" ignores this field, and a negative indicates a value from the end of the range)."}]},"type":{"type":"intrinsic","name":"number"}}]},{"name":"DialogEventResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting a calendar dialog for creating or editing an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How user responded to the dialog.\nOn Android, this is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":" (Android doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, saved or deleted the event).\n\nOn iOS, it can be "},{"kind":"code","text":"`saved`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":" or "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"saved"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"}]}],"name":"Extract","package":"typescript"}},{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"The ID of the event that was created or edited. On Android, this is always "},{"kind":"code","text":"`null`"},{"kind":"text","text":".\n\nOn iOS, this is a string when permissions are granted and user confirms the creation or editing of an event. Otherwise, it's "},{"kind":"code","text":"`null`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]}}]},{"name":"ModifiableCalendarProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"color"},{"type":"literal","value":"title"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableEventProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"availability"},{"type":"literal","value":"startDate"},{"type":"literal","value":"endDate"},{"type":"literal","value":"allDay"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableReminderProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"startDate"},{"type":"literal","value":"dueDate"},{"type":"literal","value":"completed"},{"type":"literal","value":"completionDate"}]}],"name":"Pick","package":"typescript"}},{"name":"OpenEventDialogResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting the calendar dialog for opening (viewing) an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates how user responded to the dialog.\nOn Android, the "},{"kind":"code","text":"`action`"},{"kind":"text","text":" is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":".\nOn iOS, it can be "},{"kind":"code","text":"`done`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":", "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":" or "},{"kind":"code","text":"`responded`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"},{"type":"literal","value":"responded"}]}],"name":"Extract","package":"typescript"}}]},{"name":"OpenEventPresentationOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"allowsCalendarPreview","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Determines whether event can be shown in calendar day view preview.\nThis property applies only to invitations."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"allowsEditing","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to allow the user to edit the previewed event.\nThis property applies only to events in calendars created by the user.\n\nNote that if the user edits the event, the returned action is the one that user performs last.\nFor example, when user previews the event, confirms some edits and finally dismisses the dialog, the event is edited, but response is "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]}}]}},{"name":"PermissionExpiration","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Permission expiration time. Currently, all permissions are granted permanently."}]},"type":{"type":"union","types":[{"type":"literal","value":"never"},{"type":"intrinsic","name":"number"}]}},{"name":"PermissionHookOptions","variant":"declaration","kind":2097152,"typeParameters":[{"name":"Options","variant":"typeParam","kind":131072,"type":{"type":"intrinsic","name":"object"}}],"type":{"type":"intersection","types":[{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"PermissionHookBehavior"},"name":"PermissionHookBehavior","package":"expo-modules-core"},{"type":"reference","name":"Options","package":"expo-modules-core","refersToTypeParameter":true}]}},{"name":"PermissionResponse","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"An object obtained by permissions get and request functions."}]},"children":[{"name":"canAskAgain","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates if user can be asked again for specific permission.\nIf not, one should be directed to the Settings app\nin order to enable/disable the permission."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"expires","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines time when the permission expires."}]},"type":{"type":"reference","name":"PermissionExpiration","package":"expo-modules-core"}},{"name":"granted","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"A convenience boolean that indicates if the permission is granted."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"status","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines the status of the permission."}]},"type":{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsInterface.ts","qualifiedName":"PermissionStatus"},"name":"PermissionStatus","package":"expo-modules-core"}}]},{"name":"PresentationOptions","variant":"declaration","kind":2097152,"children":[{"name":"startNewActivityTask","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to launch the Activity as a new [task](https://developer.android.com/reference/android/content/Intent#FLAG_ACTIVITY_NEW_TASK).\nIf "},{"kind":"code","text":"`true`"},{"kind":"text","text":", the promise resolves with "},{"kind":"code","text":"`'done'`"},{"kind":"text","text":" action immediately after opening the calendar activity."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]},{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]},{"name":"RecurrenceRule","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A recurrence rule for events or reminders, allowing the same calendar item to recur multiple times.\nThis type is based on [the iOS interface](https://developer.apple.com/documentation/eventkit/ekrecurrencerule/1507320-initrecurrencewithfrequency)\nwhich is in turn based on [the iCal RFC](https://tools.ietf.org/html/rfc5545#section-3.8.5.3)\nso you can refer to those to learn more about this potentially complex interface.\n\nNot all the combinations make sense. For example, when frequency is "},{"kind":"code","text":"`DAILY`"},{"kind":"text","text":", setting "},{"kind":"code","text":"`daysOfTheMonth`"},{"kind":"text","text":" makes no sense."}]},"children":[{"name":"daysOfTheMonth","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the month this event occurs on.\n"},{"kind":"code","text":"`-31`"},{"kind":"text","text":" to "},{"kind":"code","text":"`31`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Monthly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"daysOfTheWeek","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the week the event should recur on. An array of ["},{"kind":"code","text":"`DaysOfTheWeek`"},{"kind":"text","text":"](#daysoftheweek) object."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"DaysOfTheWeek","package":"expo-calendar"}}},{"name":"daysOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the year this event occurs on.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date on which the calendar item should stop recurring; overrides "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" if both are specified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"frequency","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How often the calendar item should recur."}]},"type":{"type":"reference","name":"Frequency","package":"expo-calendar"}},{"name":"interval","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interval at which the calendar item should recur. For example, an "},{"kind":"code","text":"`interval: 2`"},{"kind":"text","text":" with "},{"kind":"code","text":"`frequency: DAILY`"},{"kind":"text","text":"\nwould yield an event that recurs every other day."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"1"}]}]},"type":{"type":"intrinsic","name":"number"}},{"name":"monthsOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The months this event occurs on.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"MonthOfTheYear","package":"expo-calendar"}}},{"name":"occurrence","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of times the calendar item should recur before stopping."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"setPositions","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"TAn array of numbers that filters which recurrences to include. For example, for an event that\nrecurs every Monday, passing 2 here will make it recur every other Monday.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"weeksOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The weeks of the year this event occurs on.\n"},{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}}]},{"name":"RecurringEventOptions","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Options for specifying a particular instance of a recurring event.\nThis type is used in various methods that operate on recurring events, such as updating or deleting a single occurrence or a set of future occurrences."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"futureEvents","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether future events in the recurring series should also be updated. If "},{"kind":"code","text":"`true`"},{"kind":"text","text":", will\napply the given changes to the recurring instance specified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":" and all\nfuture events in the series. If "},{"kind":"code","text":"`false`"},{"kind":"text","text":", will only apply the given changes to the instance\nspecified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"Source","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A source account that owns a particular calendar. Expo apps will typically not need to interact with "},{"kind":"code","text":"`Source`"},{"kind":"text","text":" objects."}]},"children":[{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this source on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"isLocalAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether this source is the local phone account. Must be "},{"kind":"code","text":"`true`"},{"kind":"text","text":" if "},{"kind":"code","text":"`type`"},{"kind":"text","text":" is "},{"kind":"code","text":"`undefined`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"name","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar and was used to sync the calendar to the device."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"type","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Type of the account that owns this calendar and was used to sync it to the device.\nIf "},{"kind":"code","text":"`isLocalAccount`"},{"kind":"text","text":" is falsy then this must be defined, and must match an account on the device\nalong with "},{"kind":"code","text":"`name`"},{"kind":"text","text":", or the OS will delete the calendar.\nOn iOS, one of ["},{"kind":"code","text":"`SourceType`"},{"kind":"text","text":"](#sourcetype)s."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"SourceType","package":"expo-calendar"}]}}]},{"name":"getCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to check write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.getCalendarPermissions"},{"name":"getRemindersPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's reminders."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.getRemindersPermissions"},{"name":"getSourcesSync","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Gets an array of Source objects with details about the different sources stored on the device."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of Source objects representing the sources found."}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}}]}},"defaultValue":"InternalExpoCalendar.getSourcesSync"},{"name":"requestCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to request write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.requestCalendarPermissions"},{"name":"requestRemindersPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's reminders."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.requestRemindersPermissions"},{"name":"useCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's calendars.\nThis uses both "},{"kind":"code","text":"`getCalendarPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestCalendarPermissions`"},{"kind":"text","text":" to interact\nwith the permissions.\nOn iOS, "},{"kind":"code","text":"`writeOnly`"},{"kind":"text","text":" requests permission to create calendar events without reading\nexisting calendars or events. It does not grant permission to create, update, or delete calendars."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useCalendarPermissions();\n```"}]}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"writeOnly","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}}]}}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}},"defaultValue":"..."},{"name":"useRemindersPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's reminders.\nThis uses both "},{"kind":"code","text":"`getRemindersPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestRemindersPermissions`"},{"kind":"text","text":" to interact\nwith the permissions."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useRemindersPermissions();\n```"}]}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}},"defaultValue":"..."},{"name":"createAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"createAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.createAttendee()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendar","variant":"declaration","kind":64,"signatures":[{"name":"createCalendar","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new calendar on the device, allowing events to be added later and displayed in the OS Calendar app."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the newly created calendar."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of details for the calendar to be created."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`createCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createEvent()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.addEventWithForm()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventData","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},{"type":"literal","value":"id"}],"name":"Omit","package":"typescript"},"defaultValue":"{}"},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"createReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createReminder()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"editEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"editEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.editInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getAttendeesForEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getAttendeesForEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.getAttendees()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendars","variant":"declaration","kind":64,"signatures":[{"name":"getCalendars","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects with details about the different calendars stored on the device."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects matching the provided entity type (if provided)."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"__iOS Only.__ Not required, but if defined, filters the returned calendars to\na specific [entity type](#entitytypes). Possible values are "},{"kind":"code","text":"`Calendar.EntityTypes.EVENT`"},{"kind":"text","text":" (for calendars shown in\nthe Calendar app) and "},{"kind":"code","text":"`Calendar.EntityTypes.REMINDER`"},{"kind":"text","text":" (for the Reminders app).\n> **Note:** If not defined, you will need both permissions: **CALENDAR** and **REMINDERS**."}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getDefaultCalendarSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarSync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an instance of the default calendar object."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object that is the user's default calendar."}]}]},"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}]},{"name":"getEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarEvent.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getEventsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`listEvents()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"startDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"getReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarReminder.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.listReminders()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"status","variant":"param","kind":32768,"type":{"type":"reference","name":"ReminderStatus","package":"expo-calendar"}},{"name":"startDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourceAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourceAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"Source","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourcesAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourcesAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getSourcesSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"isAvailableAsync","variant":"declaration","kind":64,"signatures":[{"name":"isAvailableAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"boolean"}],"name":"Promise","package":"typescript"}}]},{"name":"listEvents","variant":"declaration","kind":64,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Lists events from the device's calendar. It can be used to search events in multiple calendars.\n> **Note:** If you want to search events in a single calendar, you can use ["},{"kind":"code","text":"`ExpoCalendar.listEvents`"},{"kind":"text","text":"](#listeventsstartdate-enddate) instead."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) objects representing the events found."}]}]},"parameters":[{"name":"calendars","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"An array of calendar IDs ("},{"kind":"code","text":"`string[]`"},{"kind":"text","text":") or ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) objects to search for events."}]},"type":{"type":"array","elementType":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}]}}},{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The start date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The end date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"openEventInCalendar","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendar","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"openEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"OpenEventPresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"presentPicker","variant":"declaration","kind":64,"signatures":[{"name":"presentPicker","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the OS calendar picker and returns the selected calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" when the picker is cancelled."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"union","types":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},{"type":"literal","value":null}]}],"name":"Promise","package":"typescript"}}]},{"name":"requestCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"updateAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]}],"packageName":"expo-calendar"} \ No newline at end of file +{"schemaVersion":"2.0","name":"expo-calendar","variant":"project","kind":1,"children":[{"name":"AlarmMethod","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"ALARM","variant":"declaration","kind":16,"type":{"type":"literal","value":"alarm"}},{"name":"ALERT","variant":"declaration","kind":16,"type":{"type":"literal","value":"alert"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"EMAIL","variant":"declaration","kind":16,"type":{"type":"literal","value":"email"}},{"name":"SMS","variant":"declaration","kind":16,"type":{"type":"literal","value":"sms"}}]},{"name":"AttendeeRole","variant":"declaration","kind":8,"children":[{"name":"ATTENDEE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"attendee"}},{"name":"CHAIR","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"chair"}},{"name":"NON_PARTICIPANT","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"nonParticipant"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"ORGANIZER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"organizer"}},{"name":"PERFORMER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"performer"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"required"}},{"name":"SPEAKER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"speaker"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeStatus","variant":"declaration","kind":8,"children":[{"name":"ACCEPTED","variant":"declaration","kind":16,"type":{"type":"literal","value":"accepted"}},{"name":"COMPLETED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"completed"}},{"name":"DECLINED","variant":"declaration","kind":16,"type":{"type":"literal","value":"declined"}},{"name":"DELEGATED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"delegated"}},{"name":"IN_PROCESS","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"inProcess"}},{"name":"INVITED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"invited"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"PENDING","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"pending"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeType","variant":"declaration","kind":8,"children":[{"name":"GROUP","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"group"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"PERSON","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"person"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"required"}},{"name":"RESOURCE","variant":"declaration","kind":16,"type":{"type":"literal","value":"resource"}},{"name":"ROOM","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"room"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"Availability","variant":"declaration","kind":8,"children":[{"name":"BUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"busy"}},{"name":"FREE","variant":"declaration","kind":16,"type":{"type":"literal","value":"free"}},{"name":"NOT_SUPPORTED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"notSupported"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNAVAILABLE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unavailable"}}]},{"name":"CalendarAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONTRIBUTOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"contributor"}},{"name":"EDITOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"editor"}},{"name":"FREEBUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"freebusy"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"OVERRIDE","variant":"declaration","kind":16,"type":{"type":"literal","value":"override"}},{"name":"OWNER","variant":"declaration","kind":16,"type":{"type":"literal","value":"owner"}},{"name":"READ","variant":"declaration","kind":16,"type":{"type":"literal","value":"read"}},{"name":"RESPOND","variant":"declaration","kind":16,"type":{"type":"literal","value":"respond"}},{"name":"ROOT","variant":"declaration","kind":16,"type":{"type":"literal","value":"root"}}]},{"name":"CalendarDialogResultActions","variant":"declaration","kind":8,"comment":{"summary":[{"kind":"text","text":"Enum containing all possible user responses to the calendar UI dialogs. Depending on what dialog is presented, a subset of the values applies."}]},"children":[{"name":"canceled","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user canceled or dismissed the dialog."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"canceled"}},{"name":"deleted","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user deleted the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"deleted"}},{"name":"done","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"On Android, this is the only possible result because the OS doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, modified the event, or deleted it.\n\nOn iOS, this means the user simply closed the dialog."}]},"type":{"type":"literal","value":"done"}},{"name":"responded","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user responded to and saved a pending event invitation."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"responded"}},{"name":"saved","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user saved a new event or modified an existing one."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"saved"}}]},{"name":"CalendarType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"type":{"type":"literal","value":"unknown"}}]},{"name":"DayOfTheWeek","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"Friday","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"Monday","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"Saturday","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"Sunday","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"Thursday","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"Tuesday","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"Wednesday","variant":"declaration","kind":16,"type":{"type":"literal","value":4}}]},{"name":"EntityTypes","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"EVENT","variant":"declaration","kind":16,"type":{"type":"literal","value":"event"}},{"name":"REMINDER","variant":"declaration","kind":16,"type":{"type":"literal","value":"reminder"}}]},{"name":"EventAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONFIDENTIAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"confidential"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"PRIVATE","variant":"declaration","kind":16,"type":{"type":"literal","value":"private"}},{"name":"PUBLIC","variant":"declaration","kind":16,"type":{"type":"literal","value":"public"}}]},{"name":"EventStatus","variant":"declaration","kind":8,"children":[{"name":"CANCELED","variant":"declaration","kind":16,"type":{"type":"literal","value":"canceled"}},{"name":"CONFIRMED","variant":"declaration","kind":16,"type":{"type":"literal","value":"confirmed"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}}]},{"name":"Frequency","variant":"declaration","kind":8,"children":[{"name":"DAILY","variant":"declaration","kind":16,"type":{"type":"literal","value":"daily"}},{"name":"MONTHLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"monthly"}},{"name":"WEEKLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"weekly"}},{"name":"YEARLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"yearly"}}]},{"name":"MonthOfTheYear","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"April","variant":"declaration","kind":16,"type":{"type":"literal","value":4}},{"name":"August","variant":"declaration","kind":16,"type":{"type":"literal","value":8}},{"name":"December","variant":"declaration","kind":16,"type":{"type":"literal","value":12}},{"name":"February","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"January","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"July","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"June","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"March","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"May","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"November","variant":"declaration","kind":16,"type":{"type":"literal","value":11}},{"name":"October","variant":"declaration","kind":16,"type":{"type":"literal","value":10}},{"name":"September","variant":"declaration","kind":16,"type":{"type":"literal","value":9}}]},{"name":"ReminderStatus","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"COMPLETED","variant":"declaration","kind":16,"type":{"type":"literal","value":"completed"}},{"name":"INCOMPLETE","variant":"declaration","kind":16,"type":{"type":"literal","value":"incomplete"}}]},{"name":"SourceType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"MOBILEME","variant":"declaration","kind":16,"type":{"type":"literal","value":"mobileme"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}}]},{"name":"ExpoCalendar","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar object that can be accessed and modified using the Expo Calendar Next API.\n\nThis class provides properties and methods for interacting with a specific calendar on the device,\nsuch as retrieving its events, updating its details, and accessing its metadata."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendar","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Level of access that the user has for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"CalendarAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.accessLevel"}},{"name":"allowedAttendeeTypes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Attendee types that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AttendeeType","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAttendeeTypes"}},{"name":"allowedAvailabilities","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Availability types that this calendar supports."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Availability","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAvailabilities"}},{"name":"allowedReminders","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Alarm methods that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedReminders"}},{"name":"allowsModifications","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value that determines whether this calendar can be modified."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowsModifications"}},{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Color used to display this calendar's events."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.color"}},{"name":"entityType","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the calendar is used in the Calendar or Reminders OS app."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.entityType"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this calendar on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.id"}},{"name":"isPrimary","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether this is the device's primary calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isPrimary"}},{"name":"isSynced","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether this calendar is synced and its events stored on the device.\nUnexpected behavior may occur if this is not set to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isSynced"}},{"name":"isVisible","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether the OS displays events on this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isVisible"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal system name of the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.name"}},{"name":"ownerAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.ownerAccount"}},{"name":"source","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing the source to be used for the calendar."}]},"type":{"type":"reference","name":"Source","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.source"}},{"name":"sourceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the source to be used for the calendar. Likely the same as the source for any other\nlocally stored calendars."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.sourceId"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the calendar."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.title"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of calendar this object represents."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"CalendarType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.type"}},{"name":"addEventWithForm","variant":"declaration","kind":2048,"signatures":[{"name":"addEventWithForm","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the system-provided dialog to create a new event in this calendar, pre-filled with the provided data.\nRequires at minimum write-only calendar permission."}]},"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"AddEventWithFormOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}},{"name":"createEvent","variant":"declaration","kind":2048,"signatures":[{"name":"createEvent","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new event in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created event."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"creationDate"},{"type":"literal","value":"lastModifiedDate"},{"type":"literal","value":"originalStartDate"},{"type":"literal","value":"isDetached"},{"type":"literal","value":"status"},{"type":"literal","value":"organizer"}]}],"name":"Omit","package":"typescript"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}},{"name":"createReminder","variant":"declaration","kind":2048,"signatures":[{"name":"createReminder","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new reminder in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created reminder."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"delete","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Deletes the calendar."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}},{"name":"listEvents","variant":"declaration","kind":2048,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a calendar event list for the given date range."}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}},{"name":"listReminders","variant":"declaration","kind":2048,"signatures":[{"name":"listReminders","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a list of reminders matching the provided criteria. If "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" and "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" are defined,\nreturns all reminders that overlap at all with the "},{"kind":"code","text":"`[startDate, endDate]`"},{"kind":"text","text":" interval, that is, all reminders\nthat end after the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" or begin before the "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) objects matching the search criteria."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Beginning of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders before "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"End of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders after "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"status","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"One of "},{"kind":"code","text":"`Calendar.ReminderStatus.COMPLETED`"},{"kind":"text","text":" or "},{"kind":"code","text":"`Calendar.ReminderStatus.INCOMPLETE`"},{"kind":"text","text":". If not defined, both completed and incomplete reminders will be returned."}]},"type":{"type":"union","types":[{"type":"reference","name":"ReminderStatus","package":"expo-calendar"},{"type":"literal","value":null}]},"defaultValue":"null"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableCalendarProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a calendar by its ID. Throws an error if the calendar with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the calendar."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the calendar to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"}]},{"name":"ExpoCalendarAttendee","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar attendee object."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarAttendee","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}},{"name":"email","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email of the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.email"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this attendee on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.id"}},{"name":"isCurrentUser","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not this attendee is the current OS user."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.isCurrentUser"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Displayed name of the attendee."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.name"}},{"name":"role","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Role of the attendee at the event."}]},"type":{"type":"reference","name":"AttendeeRole","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.role"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the attendee in relation to the event."}]},"type":{"type":"reference","name":"AttendeeStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.status"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of the attendee."}]},"type":{"type":"reference","name":"AttendeeType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.type"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.url"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ModifiableAttendeeProperties"},"name":"ModifiableAttendeeProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"},"name":"ExpoCalendarAttendee","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"}]},{"name":"ExpoCalendarEvent","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar event object that can be accessed and modified using the Expo Calendar Next API."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarEvent","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"User's access level for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"EventAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.accessLevel"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated reminders to the user."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the event is displayed as an all-day event on the calendar"}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.allDay"}},{"name":"availability","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"The availability setting for the event."}]},"type":{"type":"reference","name":"Availability","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.availability"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.calendarId"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was created."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.creationDate"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event ends."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endDate"}},{"name":"endTimeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the end date of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endTimeZone"}},{"name":"guestsCanInviteOthers","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can invite other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanInviteOthers"}},{"name":"guestsCanModify","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can modify the details of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanModify"}},{"name":"guestsCanSeeGuests","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can see other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanSeeGuests"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this event on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.id"}},{"name":"instanceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For instances of recurring events, volatile ID representing this instance. Not guaranteed to\nalways refer to the same instance."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.instanceId"}},{"name":"isDetached","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether or not the event is a detached (modified) instance of a recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.isDetached"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was last modified."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the event."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.notes"}},{"name":"organizer","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Organizer of the event.\nThis property is only available on events associated with calendars that are managed by a service such as Google Calendar or iCloud.\nThe organizer is read-only and cannot be set."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Organizer"},"name":"Organizer","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizer"}},{"name":"organizerEmail","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email address of the organizer of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizerEmail"}},{"name":"originalId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For detached (modified) instances of recurring events, the ID of the original recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalId"}},{"name":"originalStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For recurring events, the start date for the first (original) instance of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalStartDate"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeating events. Set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time events.\nIt is either "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" or "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" based."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event starts."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.startDate"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the event."}]},"type":{"type":"reference","name":"EventStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.status"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the event is scheduled in.\nWhen set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":", the event is scheduled to the device's time zone."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.url"}},{"name":"createAttendee","variant":"declaration","kind":2048,"signatures":[{"name":"createAttendee","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new attendee and adds it to this event."}]},"parameters":[{"name":"attendee","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the event."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}},{"name":"editInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"editInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to edit or delete an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogParamsNext"},"name":"CalendarDialogParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}},{"name":"getAttendees","variant":"declaration","kind":2048,"signatures":[{"name":"getAttendees","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets all attendees for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`Attendee`"},{"kind":"text","text":"](#attendee) associated with the specified event."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}},{"name":"getOccurrenceSync","variant":"declaration","kind":2048,"signatures":[{"name":"getOccurrenceSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns an event instance for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An event instance."}]}]},"parameters":[{"name":"recurringEventOptions","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of options for recurring events."}]},"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}},{"name":"openInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"openInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to preview an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogOpenParamsNext"},"name":"CalendarDialogOpenParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableEventProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an event by its ID. Throws an error if the event with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) object representing the event."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the event to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"}]},{"name":"ExpoCalendarReminder","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar reminder object that can be accessed and modified using the Expo Calendar Next API."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarReminder","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated alarms to the user about the task."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the reminder is an all-day reminder."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.allDay"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.calendarId"}},{"name":"completed","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not the task has been completed."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completed"}},{"name":"completionDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the date of completion, if "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" is "},{"kind":"code","text":"`true`"},{"kind":"text","text":".\nSetting this property of a nonnull "},{"kind":"code","text":"`Date`"},{"kind":"text","text":" will automatically set the reminder's "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" value to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completionDate"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was created."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.creationDate"}},{"name":"dueDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the reminder task is due."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.dueDate"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this reminder on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.id"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was last modified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the reminder"}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.notes"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeated reminders. "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time tasks."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the start date of the reminder task."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.startDate"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the reminder is scheduled in."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.url"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the reminder."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableReminderProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a reminder by its ID. Throws an error if the reminder with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) object representing the reminder."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"reminderId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the reminder to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"}]},{"name":"AddEventWithFormOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}}]}}]}},{"name":"Alarm","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A method for having the OS automatically remind the user about a calendar item."}]},"children":[{"name":"absoluteDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing an absolute time the alarm should occur.\nOverrides "},{"kind":"code","text":"`relativeOffset`"},{"kind":"text","text":" and "},{"kind":"code","text":"`structuredLocation`"},{"kind":"text","text":" if specified alongside either."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"method","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Method of alerting the user that this alarm should use. On iOS this is always a notification."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},{"name":"relativeOffset","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of minutes from the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" of the calendar item that the alarm should occur.\nUse negative values to have the alarm occur before the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"structuredLocation","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"AlarmLocation","package":"expo-calendar"}}]},{"name":"AlarmLocation","variant":"declaration","kind":2097152,"children":[{"name":"coords","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"latitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"longitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"proximity","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"radius","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"CalendarDialogParams","variant":"declaration","kind":2097152,"children":[{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"ID of the event to be presented in the calendar UI."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"DaysOfTheWeek","variant":"declaration","kind":2097152,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"dayOfTheWeek","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Sunday to Saturday - "},{"kind":"code","text":"`DayOfTheWeek`"},{"kind":"text","text":" enum."}]},"type":{"type":"reference","name":"DayOfTheWeek","package":"expo-calendar"}},{"name":"weekNumber","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" ("},{"kind":"code","text":"`0`"},{"kind":"text","text":" ignores this field, and a negative indicates a value from the end of the range)."}]},"type":{"type":"intrinsic","name":"number"}}]},{"name":"DialogEventResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting a calendar dialog for creating or editing an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How user responded to the dialog.\nOn Android, this is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":" (Android doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, saved or deleted the event).\n\nOn iOS, it can be "},{"kind":"code","text":"`saved`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":" or "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"saved"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"}]}],"name":"Extract","package":"typescript"}},{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"The ID of the event that was created or edited. On Android, this is always "},{"kind":"code","text":"`null`"},{"kind":"text","text":".\n\nOn iOS, this is a string when permissions are granted and user confirms the creation or editing of an event. Otherwise, it's "},{"kind":"code","text":"`null`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]}}]},{"name":"ModifiableCalendarProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"color"},{"type":"literal","value":"title"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableEventProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"availability"},{"type":"literal","value":"startDate"},{"type":"literal","value":"endDate"},{"type":"literal","value":"allDay"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableReminderProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"startDate"},{"type":"literal","value":"dueDate"},{"type":"literal","value":"completed"},{"type":"literal","value":"completionDate"}]}],"name":"Pick","package":"typescript"}},{"name":"OpenEventDialogResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting the calendar dialog for opening (viewing) an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates how user responded to the dialog.\nOn Android, the "},{"kind":"code","text":"`action`"},{"kind":"text","text":" is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":".\nOn iOS, it can be "},{"kind":"code","text":"`done`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":", "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":" or "},{"kind":"code","text":"`responded`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"},{"type":"literal","value":"responded"}]}],"name":"Extract","package":"typescript"}}]},{"name":"OpenEventPresentationOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"allowsCalendarPreview","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Determines whether event can be shown in calendar day view preview.\nThis property applies only to invitations."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"allowsEditing","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to allow the user to edit the previewed event.\nThis property applies only to events in calendars created by the user.\n\nNote that if the user edits the event, the returned action is the one that user performs last.\nFor example, when user previews the event, confirms some edits and finally dismisses the dialog, the event is edited, but response is "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]}}]}},{"name":"PermissionExpiration","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Permission expiration time. Currently, all permissions are granted permanently."}]},"type":{"type":"union","types":[{"type":"literal","value":"never"},{"type":"intrinsic","name":"number"}]}},{"name":"PermissionHookOptions","variant":"declaration","kind":2097152,"typeParameters":[{"name":"Options","variant":"typeParam","kind":131072,"type":{"type":"intrinsic","name":"object"}}],"type":{"type":"intersection","types":[{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"PermissionHookBehavior"},"name":"PermissionHookBehavior","package":"expo-modules-core"},{"type":"reference","name":"Options","package":"expo-modules-core","refersToTypeParameter":true}]}},{"name":"PermissionResponse","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"An object obtained by permissions get and request functions."}]},"children":[{"name":"canAskAgain","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates if user can be asked again for specific permission.\nIf not, one should be directed to the Settings app\nin order to enable/disable the permission."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"expires","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines time when the permission expires."}]},"type":{"type":"reference","name":"PermissionExpiration","package":"expo-modules-core"}},{"name":"granted","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"A convenience boolean that indicates if the permission is granted."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"status","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines the status of the permission."}]},"type":{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsInterface.ts","qualifiedName":"PermissionStatus"},"name":"PermissionStatus","package":"expo-modules-core"}}]},{"name":"PresentationOptions","variant":"declaration","kind":2097152,"children":[{"name":"startNewActivityTask","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to launch the Activity as a new [task](https://developer.android.com/reference/android/content/Intent#FLAG_ACTIVITY_NEW_TASK).\nIf "},{"kind":"code","text":"`true`"},{"kind":"text","text":", the promise resolves with "},{"kind":"code","text":"`'done'`"},{"kind":"text","text":" action immediately after opening the calendar activity."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]},{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]},{"name":"RecurrenceRule","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A recurrence rule for events or reminders, allowing the same calendar item to recur multiple times.\nThis type is based on [the iOS interface](https://developer.apple.com/documentation/eventkit/ekrecurrencerule/1507320-initrecurrencewithfrequency)\nwhich is in turn based on [the iCal RFC](https://tools.ietf.org/html/rfc5545#section-3.8.5.3)\nso you can refer to those to learn more about this potentially complex interface.\n\nNot all the combinations make sense. For example, when frequency is "},{"kind":"code","text":"`DAILY`"},{"kind":"text","text":", setting "},{"kind":"code","text":"`daysOfTheMonth`"},{"kind":"text","text":" makes no sense."}]},"children":[{"name":"daysOfTheMonth","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the month this event occurs on.\n"},{"kind":"code","text":"`-31`"},{"kind":"text","text":" to "},{"kind":"code","text":"`31`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Monthly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"daysOfTheWeek","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the week the event should recur on. An array of ["},{"kind":"code","text":"`DaysOfTheWeek`"},{"kind":"text","text":"](#daysoftheweek) object."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"DaysOfTheWeek","package":"expo-calendar"}}},{"name":"daysOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the year this event occurs on.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date on which the calendar item should stop recurring; overrides "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" if both are specified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"frequency","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How often the calendar item should recur."}]},"type":{"type":"reference","name":"Frequency","package":"expo-calendar"}},{"name":"interval","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interval at which the calendar item should recur. For example, an "},{"kind":"code","text":"`interval: 2`"},{"kind":"text","text":" with "},{"kind":"code","text":"`frequency: DAILY`"},{"kind":"text","text":"\nwould yield an event that recurs every other day."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"1"}]}]},"type":{"type":"intrinsic","name":"number"}},{"name":"monthsOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The months this event occurs on.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"MonthOfTheYear","package":"expo-calendar"}}},{"name":"occurrence","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of times the calendar item should recur before stopping."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"setPositions","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"TAn array of numbers that filters which recurrences to include. For example, for an event that\nrecurs every Monday, passing 2 here will make it recur every other Monday.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"weeksOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The weeks of the year this event occurs on.\n"},{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}}]},{"name":"RecurringEventOptions","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Options for specifying a particular instance of a recurring event.\nThis type is used in various methods that operate on recurring events, such as updating or deleting a single occurrence or a set of future occurrences."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"futureEvents","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether future events in the recurring series should also be updated. If "},{"kind":"code","text":"`true`"},{"kind":"text","text":", will\napply the given changes to the recurring instance specified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":" and all\nfuture events in the series. If "},{"kind":"code","text":"`false`"},{"kind":"text","text":", will only apply the given changes to the instance\nspecified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"Source","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A source account that owns a particular calendar. Expo apps will typically not need to interact with "},{"kind":"code","text":"`Source`"},{"kind":"text","text":" objects."}]},"children":[{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this source on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"isLocalAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether this source is the local phone account. Must be "},{"kind":"code","text":"`true`"},{"kind":"text","text":" if "},{"kind":"code","text":"`type`"},{"kind":"text","text":" is "},{"kind":"code","text":"`undefined`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"name","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar and was used to sync the calendar to the device."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"type","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Type of the account that owns this calendar and was used to sync it to the device.\nIf "},{"kind":"code","text":"`isLocalAccount`"},{"kind":"text","text":" is falsy then this must be defined, and must match an account on the device\nalong with "},{"kind":"code","text":"`name`"},{"kind":"text","text":", or the OS will delete the calendar.\nOn iOS, one of ["},{"kind":"code","text":"`SourceType`"},{"kind":"text","text":"](#sourcetype)s."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"SourceType","package":"expo-calendar"}]}}]},{"name":"getCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to check write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.getCalendarPermissions"},{"name":"requestCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to request write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.requestCalendarPermissions"},{"name":"useCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's calendars.\nThis uses both "},{"kind":"code","text":"`getCalendarPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestCalendarPermissions`"},{"kind":"text","text":" to interact\nwith the permissions.\nOn iOS, "},{"kind":"code","text":"`writeOnly`"},{"kind":"text","text":" requests permission to create calendar events without reading\nexisting calendars or events. It does not grant permission to create, update, or delete calendars."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useCalendarPermissions();\n```"}]}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"writeOnly","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}}]}}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}},"defaultValue":"..."},{"name":"createAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"createAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.createAttendee()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendar","variant":"declaration","kind":64,"signatures":[{"name":"createCalendar","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new calendar on the device, allowing events to be added later and displayed in the OS Calendar app."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the newly created calendar."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of details for the calendar to be created."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`createCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createEvent()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.addEventWithForm()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventData","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},{"type":"literal","value":"id"}],"name":"Omit","package":"typescript"},"defaultValue":"{}"},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"createReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createReminder()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"editEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"editEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.editInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getAttendeesForEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getAttendeesForEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.getAttendees()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendars","variant":"declaration","kind":64,"signatures":[{"name":"getCalendars","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects with details about the different calendars stored on the device."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects matching the provided entity type (if provided)."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"__iOS Only.__ Not required, but if defined, filters the returned calendars to\na specific [entity type](#entitytypes). Possible values are "},{"kind":"code","text":"`Calendar.EntityTypes.EVENT`"},{"kind":"text","text":" (for calendars shown in\nthe Calendar app) and "},{"kind":"code","text":"`Calendar.EntityTypes.REMINDER`"},{"kind":"text","text":" (for the Reminders app).\n> **Note:** If not defined, you will need both permissions: **CALENDAR** and **REMINDERS**."}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getDefaultCalendarSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarSync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an instance of the default calendar object.\n> **Android:** This function is not available on Android. Android does not expose a single\n> system-managed default calendar. Use "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" and choose an appropriate writable\n> calendar for your app; "},{"kind":"code","text":"`isPrimary`"},{"kind":"text","text":" can help identify per-account primary calendars."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object that is the user's default calendar."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}]},{"name":"getEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarEvent.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getEventsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`listEvents()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"startDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"getReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarReminder.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.listReminders()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"status","variant":"param","kind":32768,"type":{"type":"reference","name":"ReminderStatus","package":"expo-calendar"}},{"name":"startDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersPermissions","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersPermissions","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's reminders."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourceAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourceAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"Source","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourcesAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourcesAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getSourcesSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getSourcesSync","variant":"declaration","kind":64,"signatures":[{"name":"getSourcesSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an array of Source objects with details about the different sources stored on the device.\n> **Android:** This function is not available on Android. Android does not expose a\n> first-class calendar sources API. If you need account-like source information, call\n> "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" and inspect each calendar's "},{"kind":"code","text":"`source`"},{"kind":"text","text":" field."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of Source objects representing the sources found."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}}]},{"name":"isAvailableAsync","variant":"declaration","kind":64,"signatures":[{"name":"isAvailableAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"boolean"}],"name":"Promise","package":"typescript"}}]},{"name":"listEvents","variant":"declaration","kind":64,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Lists events from the device's calendar. It can be used to search events in multiple calendars.\n> **Note:** If you want to search events in a single calendar, you can use ["},{"kind":"code","text":"`ExpoCalendar.listEvents`"},{"kind":"text","text":"](#listeventsstartdate-enddate) instead."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) objects representing the events found."}]}]},"parameters":[{"name":"calendars","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"An array of calendar IDs ("},{"kind":"code","text":"`string[]`"},{"kind":"text","text":") or ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) objects to search for events."}]},"type":{"type":"array","elementType":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}]}}},{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The start date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The end date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"openEventInCalendar","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendar","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"openEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"OpenEventPresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"presentPicker","variant":"declaration","kind":64,"signatures":[{"name":"presentPicker","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the OS calendar picker and returns the selected calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" when the picker is cancelled."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"union","types":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},{"type":"literal","value":null}]}],"name":"Promise","package":"typescript"}}]},{"name":"requestCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestRemindersPermissions","variant":"declaration","kind":64,"signatures":[{"name":"requestRemindersPermissions","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's reminders."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"updateAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"useRemindersPermissions","variant":"declaration","kind":64,"signatures":[{"name":"useRemindersPermissions","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's reminders.\nThis uses both "},{"kind":"code","text":"`getRemindersPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestRemindersPermissions`"},{"kind":"text","text":" to interact\nwith the permissions."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useRemindersPermissions();\n```"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}],"packageName":"expo-calendar"} \ No newline at end of file diff --git a/docs/public/static/data/v56.0.0/expo-calendar-next.json b/docs/public/static/data/v56.0.0/expo-calendar-next.json index f17e769dc4bc89..1ca8108132b2b7 100644 --- a/docs/public/static/data/v56.0.0/expo-calendar-next.json +++ b/docs/public/static/data/v56.0.0/expo-calendar-next.json @@ -1 +1 @@ -{"schemaVersion":"2.0","name":"expo-calendar-next","variant":"project","kind":1,"children":[{"name":"AlarmMethod","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"ALARM","variant":"declaration","kind":16,"type":{"type":"literal","value":"alarm"}},{"name":"ALERT","variant":"declaration","kind":16,"type":{"type":"literal","value":"alert"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"EMAIL","variant":"declaration","kind":16,"type":{"type":"literal","value":"email"}},{"name":"SMS","variant":"declaration","kind":16,"type":{"type":"literal","value":"sms"}}]},{"name":"AttendeeRole","variant":"declaration","kind":8,"children":[{"name":"ATTENDEE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"attendee"}},{"name":"CHAIR","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"chair"}},{"name":"NON_PARTICIPANT","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"nonParticipant"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"ORGANIZER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"organizer"}},{"name":"PERFORMER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"performer"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"required"}},{"name":"SPEAKER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"speaker"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeStatus","variant":"declaration","kind":8,"children":[{"name":"ACCEPTED","variant":"declaration","kind":16,"type":{"type":"literal","value":"accepted"}},{"name":"COMPLETED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"completed"}},{"name":"DECLINED","variant":"declaration","kind":16,"type":{"type":"literal","value":"declined"}},{"name":"DELEGATED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"delegated"}},{"name":"IN_PROCESS","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"inProcess"}},{"name":"INVITED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"invited"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"PENDING","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"pending"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeType","variant":"declaration","kind":8,"children":[{"name":"GROUP","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"group"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"PERSON","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"person"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"required"}},{"name":"RESOURCE","variant":"declaration","kind":16,"type":{"type":"literal","value":"resource"}},{"name":"ROOM","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"room"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"Availability","variant":"declaration","kind":8,"children":[{"name":"BUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"busy"}},{"name":"FREE","variant":"declaration","kind":16,"type":{"type":"literal","value":"free"}},{"name":"NOT_SUPPORTED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"notSupported"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNAVAILABLE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unavailable"}}]},{"name":"CalendarAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONTRIBUTOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"contributor"}},{"name":"EDITOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"editor"}},{"name":"FREEBUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"freebusy"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"OVERRIDE","variant":"declaration","kind":16,"type":{"type":"literal","value":"override"}},{"name":"OWNER","variant":"declaration","kind":16,"type":{"type":"literal","value":"owner"}},{"name":"READ","variant":"declaration","kind":16,"type":{"type":"literal","value":"read"}},{"name":"RESPOND","variant":"declaration","kind":16,"type":{"type":"literal","value":"respond"}},{"name":"ROOT","variant":"declaration","kind":16,"type":{"type":"literal","value":"root"}}]},{"name":"CalendarDialogResultActions","variant":"declaration","kind":8,"comment":{"summary":[{"kind":"text","text":"Enum containing all possible user responses to the calendar UI dialogs. Depending on what dialog is presented, a subset of the values applies."}]},"children":[{"name":"canceled","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user canceled or dismissed the dialog."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"canceled"}},{"name":"deleted","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user deleted the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"deleted"}},{"name":"done","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"On Android, this is the only possible result because the OS doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, modified the event, or deleted it.\n\nOn iOS, this means the user simply closed the dialog."}]},"type":{"type":"literal","value":"done"}},{"name":"responded","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user responded to and saved a pending event invitation."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"responded"}},{"name":"saved","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user saved a new event or modified an existing one."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"saved"}}]},{"name":"CalendarType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"type":{"type":"literal","value":"unknown"}}]},{"name":"DayOfTheWeek","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"Friday","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"Monday","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"Saturday","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"Sunday","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"Thursday","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"Tuesday","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"Wednesday","variant":"declaration","kind":16,"type":{"type":"literal","value":4}}]},{"name":"EntityTypes","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"EVENT","variant":"declaration","kind":16,"type":{"type":"literal","value":"event"}},{"name":"REMINDER","variant":"declaration","kind":16,"type":{"type":"literal","value":"reminder"}}]},{"name":"EventAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONFIDENTIAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"confidential"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"PRIVATE","variant":"declaration","kind":16,"type":{"type":"literal","value":"private"}},{"name":"PUBLIC","variant":"declaration","kind":16,"type":{"type":"literal","value":"public"}}]},{"name":"EventStatus","variant":"declaration","kind":8,"children":[{"name":"CANCELED","variant":"declaration","kind":16,"type":{"type":"literal","value":"canceled"}},{"name":"CONFIRMED","variant":"declaration","kind":16,"type":{"type":"literal","value":"confirmed"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}}]},{"name":"Frequency","variant":"declaration","kind":8,"children":[{"name":"DAILY","variant":"declaration","kind":16,"type":{"type":"literal","value":"daily"}},{"name":"MONTHLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"monthly"}},{"name":"WEEKLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"weekly"}},{"name":"YEARLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"yearly"}}]},{"name":"MonthOfTheYear","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"April","variant":"declaration","kind":16,"type":{"type":"literal","value":4}},{"name":"August","variant":"declaration","kind":16,"type":{"type":"literal","value":8}},{"name":"December","variant":"declaration","kind":16,"type":{"type":"literal","value":12}},{"name":"February","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"January","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"July","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"June","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"March","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"May","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"November","variant":"declaration","kind":16,"type":{"type":"literal","value":11}},{"name":"October","variant":"declaration","kind":16,"type":{"type":"literal","value":10}},{"name":"September","variant":"declaration","kind":16,"type":{"type":"literal","value":9}}]},{"name":"ReminderStatus","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"COMPLETED","variant":"declaration","kind":16,"type":{"type":"literal","value":"completed"}},{"name":"INCOMPLETE","variant":"declaration","kind":16,"type":{"type":"literal","value":"incomplete"}}]},{"name":"SourceType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"MOBILEME","variant":"declaration","kind":16,"type":{"type":"literal","value":"mobileme"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}}]},{"name":"ExpoCalendar","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar object that can be accessed and modified using the Expo Calendar Next API.\n\nThis class provides properties and methods for interacting with a specific calendar on the device,\nsuch as retrieving its events, updating its details, and accessing its metadata."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendar","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Level of access that the user has for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"CalendarAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.accessLevel"}},{"name":"allowedAttendeeTypes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Attendee types that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AttendeeType","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAttendeeTypes"}},{"name":"allowedAvailabilities","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Availability types that this calendar supports."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Availability","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAvailabilities"}},{"name":"allowedReminders","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Alarm methods that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedReminders"}},{"name":"allowsModifications","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value that determines whether this calendar can be modified."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowsModifications"}},{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Color used to display this calendar's events."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.color"}},{"name":"entityType","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the calendar is used in the Calendar or Reminders OS app."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.entityType"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this calendar on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.id"}},{"name":"isPrimary","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether this is the device's primary calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isPrimary"}},{"name":"isSynced","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether this calendar is synced and its events stored on the device.\nUnexpected behavior may occur if this is not set to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isSynced"}},{"name":"isVisible","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether the OS displays events on this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isVisible"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal system name of the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.name"}},{"name":"ownerAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.ownerAccount"}},{"name":"source","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing the source to be used for the calendar."}]},"type":{"type":"reference","name":"Source","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.source"}},{"name":"sourceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the source to be used for the calendar. Likely the same as the source for any other\nlocally stored calendars."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.sourceId"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the calendar."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.title"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of calendar this object represents."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"CalendarType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.type"}},{"name":"addEventWithForm","variant":"declaration","kind":2048,"signatures":[{"name":"addEventWithForm","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the system-provided dialog to create a new event in this calendar, pre-filled with the provided data.\nRequires at minimum write-only calendar permission."}]},"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"AddEventWithFormOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}},{"name":"createEvent","variant":"declaration","kind":2048,"signatures":[{"name":"createEvent","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new event in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created event."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"creationDate"},{"type":"literal","value":"lastModifiedDate"},{"type":"literal","value":"originalStartDate"},{"type":"literal","value":"isDetached"},{"type":"literal","value":"status"},{"type":"literal","value":"organizer"}]}],"name":"Omit","package":"typescript"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}},{"name":"createReminder","variant":"declaration","kind":2048,"signatures":[{"name":"createReminder","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new reminder in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created reminder."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"delete","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Deletes the calendar."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}},{"name":"listEvents","variant":"declaration","kind":2048,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a calendar event list for the given date range."}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}},{"name":"listReminders","variant":"declaration","kind":2048,"signatures":[{"name":"listReminders","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a list of reminders matching the provided criteria. If "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" and "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" are defined,\nreturns all reminders that overlap at all with the "},{"kind":"code","text":"`[startDate, endDate]`"},{"kind":"text","text":" interval, that is, all reminders\nthat end after the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" or begin before the "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) objects matching the search criteria."}]}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Beginning of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders before "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"End of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders after "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"status","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"One of "},{"kind":"code","text":"`Calendar.ReminderStatus.COMPLETED`"},{"kind":"text","text":" or "},{"kind":"code","text":"`Calendar.ReminderStatus.INCOMPLETE`"},{"kind":"text","text":". If not defined, both completed and incomplete reminders will be returned."}]},"type":{"type":"union","types":[{"type":"reference","name":"ReminderStatus","package":"expo-calendar"},{"type":"literal","value":null}]},"defaultValue":"null"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableCalendarProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a calendar by its ID. Throws an error if the calendar with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the calendar."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the calendar to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"}]},{"name":"ExpoCalendarAttendee","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar attendee object."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarAttendee","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}},{"name":"email","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email of the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.email"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this attendee on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.id"}},{"name":"isCurrentUser","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not this attendee is the current OS user."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.isCurrentUser"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Displayed name of the attendee."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.name"}},{"name":"role","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Role of the attendee at the event."}]},"type":{"type":"reference","name":"AttendeeRole","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.role"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the attendee in relation to the event."}]},"type":{"type":"reference","name":"AttendeeStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.status"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of the attendee."}]},"type":{"type":"reference","name":"AttendeeType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.type"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.url"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ModifiableAttendeeProperties"},"name":"ModifiableAttendeeProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"},"name":"ExpoCalendarAttendee","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"}]},{"name":"ExpoCalendarEvent","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar event object that can be accessed and modified using the Expo Calendar Next API."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarEvent","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"User's access level for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"EventAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.accessLevel"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated reminders to the user."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the event is displayed as an all-day event on the calendar"}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.allDay"}},{"name":"availability","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"The availability setting for the event."}]},"type":{"type":"reference","name":"Availability","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.availability"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.calendarId"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was created."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.creationDate"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event ends."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endDate"}},{"name":"endTimeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the end date of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endTimeZone"}},{"name":"guestsCanInviteOthers","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can invite other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanInviteOthers"}},{"name":"guestsCanModify","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can modify the details of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanModify"}},{"name":"guestsCanSeeGuests","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can see other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanSeeGuests"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this event on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.id"}},{"name":"instanceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For instances of recurring events, volatile ID representing this instance. Not guaranteed to\nalways refer to the same instance."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.instanceId"}},{"name":"isDetached","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether or not the event is a detached (modified) instance of a recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.isDetached"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was last modified."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the event."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.notes"}},{"name":"organizer","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Organizer of the event.\nThis property is only available on events associated with calendars that are managed by a service such as Google Calendar or iCloud.\nThe organizer is read-only and cannot be set."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Organizer"},"name":"Organizer","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizer"}},{"name":"organizerEmail","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email address of the organizer of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizerEmail"}},{"name":"originalId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For detached (modified) instances of recurring events, the ID of the original recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalId"}},{"name":"originalStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For recurring events, the start date for the first (original) instance of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalStartDate"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeating events. Set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time events.\nIt is either "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" or "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" based."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event starts."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.startDate"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the event."}]},"type":{"type":"reference","name":"EventStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.status"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the event is scheduled in.\nWhen set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":", the event is scheduled to the device's time zone."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.url"}},{"name":"createAttendee","variant":"declaration","kind":2048,"signatures":[{"name":"createAttendee","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new attendee and adds it to this event."}]},"parameters":[{"name":"attendee","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the event."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}},{"name":"editInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"editInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to edit or delete an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogParamsNext"},"name":"CalendarDialogParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}},{"name":"getAttendees","variant":"declaration","kind":2048,"signatures":[{"name":"getAttendees","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets all attendees for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`Attendee`"},{"kind":"text","text":"](#attendee) associated with the specified event."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}},{"name":"getOccurrenceSync","variant":"declaration","kind":2048,"signatures":[{"name":"getOccurrenceSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns an event instance for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An event instance."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"recurringEventOptions","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of options for recurring events."}]},"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}},{"name":"openInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"openInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to preview an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogOpenParamsNext"},"name":"CalendarDialogOpenParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableEventProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an event by its ID. Throws an error if the event with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) object representing the event."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the event to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"}]},{"name":"ExpoCalendarReminder","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar reminder object that can be accessed and modified using the Expo Calendar Next API."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarReminder","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated alarms to the user about the task."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the reminder is an all-day reminder."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.allDay"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.calendarId"}},{"name":"completed","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not the task has been completed."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completed"}},{"name":"completionDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the date of completion, if "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" is "},{"kind":"code","text":"`true`"},{"kind":"text","text":".\nSetting this property of a nonnull "},{"kind":"code","text":"`Date`"},{"kind":"text","text":" will automatically set the reminder's "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" value to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completionDate"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was created."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.creationDate"}},{"name":"dueDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the reminder task is due."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.dueDate"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this reminder on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.id"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was last modified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the reminder"}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.notes"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeated reminders. "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time tasks."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the start date of the reminder task."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.startDate"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the reminder is scheduled in."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.url"}},{"name":"delete","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"delete","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Deletes the reminder."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableReminderProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a reminder by its ID. Throws an error if the reminder with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) object representing the reminder."}]}]},"parameters":[{"name":"reminderId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the reminder to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"}]},{"name":"AddEventWithFormOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}}]}}]}},{"name":"Alarm","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A method for having the OS automatically remind the user about a calendar item."}]},"children":[{"name":"absoluteDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing an absolute time the alarm should occur.\nOverrides "},{"kind":"code","text":"`relativeOffset`"},{"kind":"text","text":" and "},{"kind":"code","text":"`structuredLocation`"},{"kind":"text","text":" if specified alongside either."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"method","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Method of alerting the user that this alarm should use. On iOS this is always a notification."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},{"name":"relativeOffset","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of minutes from the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" of the calendar item that the alarm should occur.\nUse negative values to have the alarm occur before the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"structuredLocation","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"AlarmLocation","package":"expo-calendar"}}]},{"name":"AlarmLocation","variant":"declaration","kind":2097152,"children":[{"name":"coords","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"latitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"longitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"proximity","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"radius","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"CalendarDialogParams","variant":"declaration","kind":2097152,"children":[{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"ID of the event to be presented in the calendar UI."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"DaysOfTheWeek","variant":"declaration","kind":2097152,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"dayOfTheWeek","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Sunday to Saturday - "},{"kind":"code","text":"`DayOfTheWeek`"},{"kind":"text","text":" enum."}]},"type":{"type":"reference","name":"DayOfTheWeek","package":"expo-calendar"}},{"name":"weekNumber","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" ("},{"kind":"code","text":"`0`"},{"kind":"text","text":" ignores this field, and a negative indicates a value from the end of the range)."}]},"type":{"type":"intrinsic","name":"number"}}]},{"name":"DialogEventResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting a calendar dialog for creating or editing an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How user responded to the dialog.\nOn Android, this is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":" (Android doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, saved or deleted the event).\n\nOn iOS, it can be "},{"kind":"code","text":"`saved`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":" or "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"saved"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"}]}],"name":"Extract","package":"typescript"}},{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"The ID of the event that was created or edited. On Android, this is always "},{"kind":"code","text":"`null`"},{"kind":"text","text":".\n\nOn iOS, this is a string when permissions are granted and user confirms the creation or editing of an event. Otherwise, it's "},{"kind":"code","text":"`null`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]}}]},{"name":"ModifiableCalendarProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"color"},{"type":"literal","value":"title"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableEventProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"availability"},{"type":"literal","value":"startDate"},{"type":"literal","value":"endDate"},{"type":"literal","value":"allDay"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableReminderProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"startDate"},{"type":"literal","value":"dueDate"},{"type":"literal","value":"completed"},{"type":"literal","value":"completionDate"}]}],"name":"Pick","package":"typescript"}},{"name":"OpenEventDialogResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting the calendar dialog for opening (viewing) an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates how user responded to the dialog.\nOn Android, the "},{"kind":"code","text":"`action`"},{"kind":"text","text":" is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":".\nOn iOS, it can be "},{"kind":"code","text":"`done`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":", "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":" or "},{"kind":"code","text":"`responded`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"},{"type":"literal","value":"responded"}]}],"name":"Extract","package":"typescript"}}]},{"name":"OpenEventPresentationOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"allowsCalendarPreview","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Determines whether event can be shown in calendar day view preview.\nThis property applies only to invitations."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"allowsEditing","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to allow the user to edit the previewed event.\nThis property applies only to events in calendars created by the user.\n\nNote that if the user edits the event, the returned action is the one that user performs last.\nFor example, when user previews the event, confirms some edits and finally dismisses the dialog, the event is edited, but response is "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]}}]}},{"name":"PermissionExpiration","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Permission expiration time. Currently, all permissions are granted permanently."}]},"type":{"type":"union","types":[{"type":"literal","value":"never"},{"type":"intrinsic","name":"number"}]}},{"name":"PermissionHookOptions","variant":"declaration","kind":2097152,"typeParameters":[{"name":"Options","variant":"typeParam","kind":131072,"type":{"type":"intrinsic","name":"object"}}],"type":{"type":"intersection","types":[{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"PermissionHookBehavior"},"name":"PermissionHookBehavior","package":"expo-modules-core"},{"type":"reference","name":"Options","package":"expo-modules-core","refersToTypeParameter":true}]}},{"name":"PermissionResponse","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"An object obtained by permissions get and request functions."}]},"children":[{"name":"canAskAgain","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates if user can be asked again for specific permission.\nIf not, one should be directed to the Settings app\nin order to enable/disable the permission."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"expires","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines time when the permission expires."}]},"type":{"type":"reference","name":"PermissionExpiration","package":"expo-modules-core"}},{"name":"granted","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"A convenience boolean that indicates if the permission is granted."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"status","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines the status of the permission."}]},"type":{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsInterface.ts","qualifiedName":"PermissionStatus"},"name":"PermissionStatus","package":"expo-modules-core"}}]},{"name":"PresentationOptions","variant":"declaration","kind":2097152,"children":[{"name":"startNewActivityTask","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to launch the Activity as a new [task](https://developer.android.com/reference/android/content/Intent#FLAG_ACTIVITY_NEW_TASK).\nIf "},{"kind":"code","text":"`true`"},{"kind":"text","text":", the promise resolves with "},{"kind":"code","text":"`'done'`"},{"kind":"text","text":" action immediately after opening the calendar activity."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]},{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]},{"name":"RecurrenceRule","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A recurrence rule for events or reminders, allowing the same calendar item to recur multiple times.\nThis type is based on [the iOS interface](https://developer.apple.com/documentation/eventkit/ekrecurrencerule/1507320-initrecurrencewithfrequency)\nwhich is in turn based on [the iCal RFC](https://tools.ietf.org/html/rfc5545#section-3.8.5.3)\nso you can refer to those to learn more about this potentially complex interface.\n\nNot all the combinations make sense. For example, when frequency is "},{"kind":"code","text":"`DAILY`"},{"kind":"text","text":", setting "},{"kind":"code","text":"`daysOfTheMonth`"},{"kind":"text","text":" makes no sense."}]},"children":[{"name":"daysOfTheMonth","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the month this event occurs on.\n"},{"kind":"code","text":"`-31`"},{"kind":"text","text":" to "},{"kind":"code","text":"`31`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Monthly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"daysOfTheWeek","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the week the event should recur on. An array of ["},{"kind":"code","text":"`DaysOfTheWeek`"},{"kind":"text","text":"](#daysoftheweek) object."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"DaysOfTheWeek","package":"expo-calendar"}}},{"name":"daysOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the year this event occurs on.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date on which the calendar item should stop recurring; overrides "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" if both are specified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"frequency","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How often the calendar item should recur."}]},"type":{"type":"reference","name":"Frequency","package":"expo-calendar"}},{"name":"interval","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interval at which the calendar item should recur. For example, an "},{"kind":"code","text":"`interval: 2`"},{"kind":"text","text":" with "},{"kind":"code","text":"`frequency: DAILY`"},{"kind":"text","text":"\nwould yield an event that recurs every other day."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"1"}]}]},"type":{"type":"intrinsic","name":"number"}},{"name":"monthsOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The months this event occurs on.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"MonthOfTheYear","package":"expo-calendar"}}},{"name":"occurrence","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of times the calendar item should recur before stopping."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"setPositions","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"TAn array of numbers that filters which recurrences to include. For example, for an event that\nrecurs every Monday, passing 2 here will make it recur every other Monday.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"weeksOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The weeks of the year this event occurs on.\n"},{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}}]},{"name":"RecurringEventOptions","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Options for specifying a particular instance of a recurring event.\nThis type is used in various methods that operate on recurring events, such as updating or deleting a single occurrence or a set of future occurrences."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"futureEvents","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether future events in the recurring series should also be updated. If "},{"kind":"code","text":"`true`"},{"kind":"text","text":", will\napply the given changes to the recurring instance specified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":" and all\nfuture events in the series. If "},{"kind":"code","text":"`false`"},{"kind":"text","text":", will only apply the given changes to the instance\nspecified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"Source","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A source account that owns a particular calendar. Expo apps will typically not need to interact with "},{"kind":"code","text":"`Source`"},{"kind":"text","text":" objects."}]},"children":[{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this source on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"isLocalAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether this source is the local phone account. Must be "},{"kind":"code","text":"`true`"},{"kind":"text","text":" if "},{"kind":"code","text":"`type`"},{"kind":"text","text":" is "},{"kind":"code","text":"`undefined`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"name","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar and was used to sync the calendar to the device."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"type","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Type of the account that owns this calendar and was used to sync it to the device.\nIf "},{"kind":"code","text":"`isLocalAccount`"},{"kind":"text","text":" is falsy then this must be defined, and must match an account on the device\nalong with "},{"kind":"code","text":"`name`"},{"kind":"text","text":", or the OS will delete the calendar.\nOn iOS, one of ["},{"kind":"code","text":"`SourceType`"},{"kind":"text","text":"](#sourcetype)s."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"SourceType","package":"expo-calendar"}]}}]},{"name":"getCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to check write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.getCalendarPermissions"},{"name":"getRemindersPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's reminders."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.getRemindersPermissions"},{"name":"getSourcesSync","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Gets an array of Source objects with details about the different sources stored on the device."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of Source objects representing the sources found."}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}}]}},"defaultValue":"InternalExpoCalendar.getSourcesSync"},{"name":"requestCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to request write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.requestCalendarPermissions"},{"name":"requestRemindersPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's reminders."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.requestRemindersPermissions"},{"name":"useCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's calendars.\nThis uses both "},{"kind":"code","text":"`getCalendarPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestCalendarPermissions`"},{"kind":"text","text":" to interact\nwith the permissions.\nOn iOS, "},{"kind":"code","text":"`writeOnly`"},{"kind":"text","text":" requests permission to create calendar events without reading\nexisting calendars or events. It does not grant permission to create, update, or delete calendars."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useCalendarPermissions();\n```"}]}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"writeOnly","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}}]}}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}},"defaultValue":"..."},{"name":"useRemindersPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's reminders.\nThis uses both "},{"kind":"code","text":"`getRemindersPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestRemindersPermissions`"},{"kind":"text","text":" to interact\nwith the permissions."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useRemindersPermissions();\n```"}]}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}},"defaultValue":"..."},{"name":"createAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"createAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.createAttendee()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendar","variant":"declaration","kind":64,"signatures":[{"name":"createCalendar","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new calendar on the device, allowing events to be added later and displayed in the OS Calendar app."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the newly created calendar."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of details for the calendar to be created."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`createCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createEvent()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.addEventWithForm()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventData","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},{"type":"literal","value":"id"}],"name":"Omit","package":"typescript"},"defaultValue":"{}"},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"createReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createReminder()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"editEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"editEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.editInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getAttendeesForEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getAttendeesForEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.getAttendees()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendars","variant":"declaration","kind":64,"signatures":[{"name":"getCalendars","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects with details about the different calendars stored on the device."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects matching the provided entity type (if provided)."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"__iOS Only.__ Not required, but if defined, filters the returned calendars to\na specific [entity type](#entitytypes). Possible values are "},{"kind":"code","text":"`Calendar.EntityTypes.EVENT`"},{"kind":"text","text":" (for calendars shown in\nthe Calendar app) and "},{"kind":"code","text":"`Calendar.EntityTypes.REMINDER`"},{"kind":"text","text":" (for the Reminders app).\n> **Note:** If not defined, you will need both permissions: **CALENDAR** and **REMINDERS**."}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getDefaultCalendarSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarSync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an instance of the default calendar object."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object that is the user's default calendar."}]}]},"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}]},{"name":"getEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarEvent.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getEventsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`listEvents()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"startDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"getReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarReminder.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.listReminders()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"status","variant":"param","kind":32768,"type":{"type":"reference","name":"ReminderStatus","package":"expo-calendar"}},{"name":"startDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourceAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourceAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"Source","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourcesAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourcesAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getSourcesSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"isAvailableAsync","variant":"declaration","kind":64,"signatures":[{"name":"isAvailableAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"boolean"}],"name":"Promise","package":"typescript"}}]},{"name":"listEvents","variant":"declaration","kind":64,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Lists events from the device's calendar. It can be used to search events in multiple calendars.\n> **Note:** If you want to search events in a single calendar, you can use ["},{"kind":"code","text":"`ExpoCalendar.listEvents`"},{"kind":"text","text":"](#listeventsstartdate-enddate) instead."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) objects representing the events found."}]}]},"parameters":[{"name":"calendars","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"An array of calendar IDs ("},{"kind":"code","text":"`string[]`"},{"kind":"text","text":") or ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) objects to search for events."}]},"type":{"type":"array","elementType":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}]}}},{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The start date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The end date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"openEventInCalendar","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendar","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"openEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"OpenEventPresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"presentPicker","variant":"declaration","kind":64,"signatures":[{"name":"presentPicker","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the OS calendar picker and returns the selected calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" when the picker is cancelled."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"union","types":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},{"type":"literal","value":null}]}],"name":"Promise","package":"typescript"}}]},{"name":"requestCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"updateAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]}],"packageName":"expo-calendar"} \ No newline at end of file +{"schemaVersion":"2.0","name":"expo-calendar-next","variant":"project","kind":1,"children":[{"name":"AlarmMethod","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"ALARM","variant":"declaration","kind":16,"type":{"type":"literal","value":"alarm"}},{"name":"ALERT","variant":"declaration","kind":16,"type":{"type":"literal","value":"alert"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"EMAIL","variant":"declaration","kind":16,"type":{"type":"literal","value":"email"}},{"name":"SMS","variant":"declaration","kind":16,"type":{"type":"literal","value":"sms"}}]},{"name":"AttendeeRole","variant":"declaration","kind":8,"children":[{"name":"ATTENDEE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"attendee"}},{"name":"CHAIR","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"chair"}},{"name":"NON_PARTICIPANT","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"nonParticipant"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"ORGANIZER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"organizer"}},{"name":"PERFORMER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"performer"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"required"}},{"name":"SPEAKER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"speaker"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeStatus","variant":"declaration","kind":8,"children":[{"name":"ACCEPTED","variant":"declaration","kind":16,"type":{"type":"literal","value":"accepted"}},{"name":"COMPLETED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"completed"}},{"name":"DECLINED","variant":"declaration","kind":16,"type":{"type":"literal","value":"declined"}},{"name":"DELEGATED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"delegated"}},{"name":"IN_PROCESS","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"inProcess"}},{"name":"INVITED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"invited"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"PENDING","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"pending"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeType","variant":"declaration","kind":8,"children":[{"name":"GROUP","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"group"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"PERSON","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"person"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"required"}},{"name":"RESOURCE","variant":"declaration","kind":16,"type":{"type":"literal","value":"resource"}},{"name":"ROOM","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"room"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"Availability","variant":"declaration","kind":8,"children":[{"name":"BUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"busy"}},{"name":"FREE","variant":"declaration","kind":16,"type":{"type":"literal","value":"free"}},{"name":"NOT_SUPPORTED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"notSupported"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNAVAILABLE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unavailable"}}]},{"name":"CalendarAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONTRIBUTOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"contributor"}},{"name":"EDITOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"editor"}},{"name":"FREEBUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"freebusy"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"OVERRIDE","variant":"declaration","kind":16,"type":{"type":"literal","value":"override"}},{"name":"OWNER","variant":"declaration","kind":16,"type":{"type":"literal","value":"owner"}},{"name":"READ","variant":"declaration","kind":16,"type":{"type":"literal","value":"read"}},{"name":"RESPOND","variant":"declaration","kind":16,"type":{"type":"literal","value":"respond"}},{"name":"ROOT","variant":"declaration","kind":16,"type":{"type":"literal","value":"root"}}]},{"name":"CalendarDialogResultActions","variant":"declaration","kind":8,"comment":{"summary":[{"kind":"text","text":"Enum containing all possible user responses to the calendar UI dialogs. Depending on what dialog is presented, a subset of the values applies."}]},"children":[{"name":"canceled","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user canceled or dismissed the dialog."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"canceled"}},{"name":"deleted","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user deleted the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"deleted"}},{"name":"done","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"On Android, this is the only possible result because the OS doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, modified the event, or deleted it.\n\nOn iOS, this means the user simply closed the dialog."}]},"type":{"type":"literal","value":"done"}},{"name":"responded","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user responded to and saved a pending event invitation."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"responded"}},{"name":"saved","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user saved a new event or modified an existing one."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"saved"}}]},{"name":"CalendarType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"type":{"type":"literal","value":"unknown"}}]},{"name":"DayOfTheWeek","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"Friday","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"Monday","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"Saturday","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"Sunday","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"Thursday","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"Tuesday","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"Wednesday","variant":"declaration","kind":16,"type":{"type":"literal","value":4}}]},{"name":"EntityTypes","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"EVENT","variant":"declaration","kind":16,"type":{"type":"literal","value":"event"}},{"name":"REMINDER","variant":"declaration","kind":16,"type":{"type":"literal","value":"reminder"}}]},{"name":"EventAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONFIDENTIAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"confidential"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"PRIVATE","variant":"declaration","kind":16,"type":{"type":"literal","value":"private"}},{"name":"PUBLIC","variant":"declaration","kind":16,"type":{"type":"literal","value":"public"}}]},{"name":"EventStatus","variant":"declaration","kind":8,"children":[{"name":"CANCELED","variant":"declaration","kind":16,"type":{"type":"literal","value":"canceled"}},{"name":"CONFIRMED","variant":"declaration","kind":16,"type":{"type":"literal","value":"confirmed"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}}]},{"name":"Frequency","variant":"declaration","kind":8,"children":[{"name":"DAILY","variant":"declaration","kind":16,"type":{"type":"literal","value":"daily"}},{"name":"MONTHLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"monthly"}},{"name":"WEEKLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"weekly"}},{"name":"YEARLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"yearly"}}]},{"name":"MonthOfTheYear","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"April","variant":"declaration","kind":16,"type":{"type":"literal","value":4}},{"name":"August","variant":"declaration","kind":16,"type":{"type":"literal","value":8}},{"name":"December","variant":"declaration","kind":16,"type":{"type":"literal","value":12}},{"name":"February","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"January","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"July","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"June","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"March","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"May","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"November","variant":"declaration","kind":16,"type":{"type":"literal","value":11}},{"name":"October","variant":"declaration","kind":16,"type":{"type":"literal","value":10}},{"name":"September","variant":"declaration","kind":16,"type":{"type":"literal","value":9}}]},{"name":"ReminderStatus","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"COMPLETED","variant":"declaration","kind":16,"type":{"type":"literal","value":"completed"}},{"name":"INCOMPLETE","variant":"declaration","kind":16,"type":{"type":"literal","value":"incomplete"}}]},{"name":"SourceType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"MOBILEME","variant":"declaration","kind":16,"type":{"type":"literal","value":"mobileme"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}}]},{"name":"ExpoCalendar","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar object that can be accessed and modified using the Expo Calendar Next API.\n\nThis class provides properties and methods for interacting with a specific calendar on the device,\nsuch as retrieving its events, updating its details, and accessing its metadata."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendar","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Level of access that the user has for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"CalendarAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.accessLevel"}},{"name":"allowedAttendeeTypes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Attendee types that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AttendeeType","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAttendeeTypes"}},{"name":"allowedAvailabilities","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Availability types that this calendar supports."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Availability","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAvailabilities"}},{"name":"allowedReminders","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Alarm methods that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedReminders"}},{"name":"allowsModifications","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value that determines whether this calendar can be modified."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowsModifications"}},{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Color used to display this calendar's events."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.color"}},{"name":"entityType","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the calendar is used in the Calendar or Reminders OS app."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.entityType"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this calendar on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.id"}},{"name":"isPrimary","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether this is the device's primary calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isPrimary"}},{"name":"isSynced","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether this calendar is synced and its events stored on the device.\nUnexpected behavior may occur if this is not set to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isSynced"}},{"name":"isVisible","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether the OS displays events on this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isVisible"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal system name of the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.name"}},{"name":"ownerAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.ownerAccount"}},{"name":"source","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing the source to be used for the calendar."}]},"type":{"type":"reference","name":"Source","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.source"}},{"name":"sourceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the source to be used for the calendar. Likely the same as the source for any other\nlocally stored calendars."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.sourceId"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the calendar."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.title"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of calendar this object represents."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"CalendarType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.type"}},{"name":"addEventWithForm","variant":"declaration","kind":2048,"signatures":[{"name":"addEventWithForm","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the system-provided dialog to create a new event in this calendar, pre-filled with the provided data.\nRequires at minimum write-only calendar permission."}]},"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"AddEventWithFormOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}},{"name":"createEvent","variant":"declaration","kind":2048,"signatures":[{"name":"createEvent","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new event in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created event."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"creationDate"},{"type":"literal","value":"lastModifiedDate"},{"type":"literal","value":"originalStartDate"},{"type":"literal","value":"isDetached"},{"type":"literal","value":"status"},{"type":"literal","value":"organizer"}]}],"name":"Omit","package":"typescript"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}},{"name":"createReminder","variant":"declaration","kind":2048,"signatures":[{"name":"createReminder","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new reminder in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created reminder."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"delete","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Deletes the calendar."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}},{"name":"listEvents","variant":"declaration","kind":2048,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a calendar event list for the given date range."}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}},{"name":"listReminders","variant":"declaration","kind":2048,"signatures":[{"name":"listReminders","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a list of reminders matching the provided criteria. If "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" and "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" are defined,\nreturns all reminders that overlap at all with the "},{"kind":"code","text":"`[startDate, endDate]`"},{"kind":"text","text":" interval, that is, all reminders\nthat end after the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" or begin before the "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) objects matching the search criteria."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Beginning of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders before "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"End of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders after "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"status","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"One of "},{"kind":"code","text":"`Calendar.ReminderStatus.COMPLETED`"},{"kind":"text","text":" or "},{"kind":"code","text":"`Calendar.ReminderStatus.INCOMPLETE`"},{"kind":"text","text":". If not defined, both completed and incomplete reminders will be returned."}]},"type":{"type":"union","types":[{"type":"reference","name":"ReminderStatus","package":"expo-calendar"},{"type":"literal","value":null}]},"defaultValue":"null"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableCalendarProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a calendar by its ID. Throws an error if the calendar with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the calendar."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the calendar to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"}]},{"name":"ExpoCalendarAttendee","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar attendee object."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarAttendee","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}},{"name":"email","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email of the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.email"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this attendee on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.id"}},{"name":"isCurrentUser","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not this attendee is the current OS user."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.isCurrentUser"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Displayed name of the attendee."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.name"}},{"name":"role","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Role of the attendee at the event."}]},"type":{"type":"reference","name":"AttendeeRole","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.role"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the attendee in relation to the event."}]},"type":{"type":"reference","name":"AttendeeStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.status"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of the attendee."}]},"type":{"type":"reference","name":"AttendeeType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.type"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.url"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ModifiableAttendeeProperties"},"name":"ModifiableAttendeeProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"},"name":"ExpoCalendarAttendee","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"}]},{"name":"ExpoCalendarEvent","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar event object that can be accessed and modified using the Expo Calendar Next API."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarEvent","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"User's access level for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"EventAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.accessLevel"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated reminders to the user."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the event is displayed as an all-day event on the calendar"}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.allDay"}},{"name":"availability","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"The availability setting for the event."}]},"type":{"type":"reference","name":"Availability","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.availability"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.calendarId"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was created."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.creationDate"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event ends."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endDate"}},{"name":"endTimeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the end date of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endTimeZone"}},{"name":"guestsCanInviteOthers","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can invite other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanInviteOthers"}},{"name":"guestsCanModify","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can modify the details of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanModify"}},{"name":"guestsCanSeeGuests","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can see other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanSeeGuests"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this event on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.id"}},{"name":"instanceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For instances of recurring events, volatile ID representing this instance. Not guaranteed to\nalways refer to the same instance."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.instanceId"}},{"name":"isDetached","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether or not the event is a detached (modified) instance of a recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.isDetached"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was last modified."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the event."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.notes"}},{"name":"organizer","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Organizer of the event.\nThis property is only available on events associated with calendars that are managed by a service such as Google Calendar or iCloud.\nThe organizer is read-only and cannot be set."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Organizer"},"name":"Organizer","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizer"}},{"name":"organizerEmail","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email address of the organizer of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizerEmail"}},{"name":"originalId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For detached (modified) instances of recurring events, the ID of the original recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalId"}},{"name":"originalStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For recurring events, the start date for the first (original) instance of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalStartDate"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeating events. Set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time events.\nIt is either "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" or "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" based."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event starts."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.startDate"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the event."}]},"type":{"type":"reference","name":"EventStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.status"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the event is scheduled in.\nWhen set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":", the event is scheduled to the device's time zone."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.url"}},{"name":"createAttendee","variant":"declaration","kind":2048,"signatures":[{"name":"createAttendee","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new attendee and adds it to this event."}]},"parameters":[{"name":"attendee","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the event."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}},{"name":"editInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"editInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to edit or delete an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogParamsNext"},"name":"CalendarDialogParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}},{"name":"getAttendees","variant":"declaration","kind":2048,"signatures":[{"name":"getAttendees","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets all attendees for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`Attendee`"},{"kind":"text","text":"](#attendee) associated with the specified event."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}},{"name":"getOccurrenceSync","variant":"declaration","kind":2048,"signatures":[{"name":"getOccurrenceSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns an event instance for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An event instance."}]}]},"parameters":[{"name":"recurringEventOptions","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of options for recurring events."}]},"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}},{"name":"openInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"openInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to preview an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogOpenParamsNext"},"name":"CalendarDialogOpenParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableEventProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an event by its ID. Throws an error if the event with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) object representing the event."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the event to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"}]},{"name":"ExpoCalendarReminder","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar reminder object that can be accessed and modified using the Expo Calendar Next API."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarReminder","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated alarms to the user about the task."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the reminder is an all-day reminder."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.allDay"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.calendarId"}},{"name":"completed","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not the task has been completed."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completed"}},{"name":"completionDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the date of completion, if "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" is "},{"kind":"code","text":"`true`"},{"kind":"text","text":".\nSetting this property of a nonnull "},{"kind":"code","text":"`Date`"},{"kind":"text","text":" will automatically set the reminder's "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" value to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completionDate"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was created."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.creationDate"}},{"name":"dueDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the reminder task is due."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.dueDate"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this reminder on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.id"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was last modified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the reminder"}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.notes"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeated reminders. "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time tasks."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the start date of the reminder task."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.startDate"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the reminder is scheduled in."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.url"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the reminder."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableReminderProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a reminder by its ID. Throws an error if the reminder with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) object representing the reminder."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"reminderId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the reminder to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"}]},{"name":"AddEventWithFormOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}}]}}]}},{"name":"Alarm","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A method for having the OS automatically remind the user about a calendar item."}]},"children":[{"name":"absoluteDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing an absolute time the alarm should occur.\nOverrides "},{"kind":"code","text":"`relativeOffset`"},{"kind":"text","text":" and "},{"kind":"code","text":"`structuredLocation`"},{"kind":"text","text":" if specified alongside either."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"method","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Method of alerting the user that this alarm should use. On iOS this is always a notification."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},{"name":"relativeOffset","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of minutes from the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" of the calendar item that the alarm should occur.\nUse negative values to have the alarm occur before the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"structuredLocation","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"AlarmLocation","package":"expo-calendar"}}]},{"name":"AlarmLocation","variant":"declaration","kind":2097152,"children":[{"name":"coords","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"latitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"longitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"proximity","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"radius","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"CalendarDialogParams","variant":"declaration","kind":2097152,"children":[{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"ID of the event to be presented in the calendar UI."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"DaysOfTheWeek","variant":"declaration","kind":2097152,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"dayOfTheWeek","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Sunday to Saturday - "},{"kind":"code","text":"`DayOfTheWeek`"},{"kind":"text","text":" enum."}]},"type":{"type":"reference","name":"DayOfTheWeek","package":"expo-calendar"}},{"name":"weekNumber","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" ("},{"kind":"code","text":"`0`"},{"kind":"text","text":" ignores this field, and a negative indicates a value from the end of the range)."}]},"type":{"type":"intrinsic","name":"number"}}]},{"name":"DialogEventResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting a calendar dialog for creating or editing an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How user responded to the dialog.\nOn Android, this is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":" (Android doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, saved or deleted the event).\n\nOn iOS, it can be "},{"kind":"code","text":"`saved`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":" or "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"saved"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"}]}],"name":"Extract","package":"typescript"}},{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"The ID of the event that was created or edited. On Android, this is always "},{"kind":"code","text":"`null`"},{"kind":"text","text":".\n\nOn iOS, this is a string when permissions are granted and user confirms the creation or editing of an event. Otherwise, it's "},{"kind":"code","text":"`null`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]}}]},{"name":"ModifiableCalendarProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"color"},{"type":"literal","value":"title"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableEventProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"availability"},{"type":"literal","value":"startDate"},{"type":"literal","value":"endDate"},{"type":"literal","value":"allDay"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableReminderProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"startDate"},{"type":"literal","value":"dueDate"},{"type":"literal","value":"completed"},{"type":"literal","value":"completionDate"}]}],"name":"Pick","package":"typescript"}},{"name":"OpenEventDialogResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting the calendar dialog for opening (viewing) an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates how user responded to the dialog.\nOn Android, the "},{"kind":"code","text":"`action`"},{"kind":"text","text":" is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":".\nOn iOS, it can be "},{"kind":"code","text":"`done`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":", "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":" or "},{"kind":"code","text":"`responded`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"},{"type":"literal","value":"responded"}]}],"name":"Extract","package":"typescript"}}]},{"name":"OpenEventPresentationOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"allowsCalendarPreview","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Determines whether event can be shown in calendar day view preview.\nThis property applies only to invitations."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"allowsEditing","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to allow the user to edit the previewed event.\nThis property applies only to events in calendars created by the user.\n\nNote that if the user edits the event, the returned action is the one that user performs last.\nFor example, when user previews the event, confirms some edits and finally dismisses the dialog, the event is edited, but response is "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]}}]}},{"name":"PermissionExpiration","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Permission expiration time. Currently, all permissions are granted permanently."}]},"type":{"type":"union","types":[{"type":"literal","value":"never"},{"type":"intrinsic","name":"number"}]}},{"name":"PermissionHookOptions","variant":"declaration","kind":2097152,"typeParameters":[{"name":"Options","variant":"typeParam","kind":131072,"type":{"type":"intrinsic","name":"object"}}],"type":{"type":"intersection","types":[{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"PermissionHookBehavior"},"name":"PermissionHookBehavior","package":"expo-modules-core"},{"type":"reference","name":"Options","package":"expo-modules-core","refersToTypeParameter":true}]}},{"name":"PermissionResponse","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"An object obtained by permissions get and request functions."}]},"children":[{"name":"canAskAgain","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates if user can be asked again for specific permission.\nIf not, one should be directed to the Settings app\nin order to enable/disable the permission."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"expires","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines time when the permission expires."}]},"type":{"type":"reference","name":"PermissionExpiration","package":"expo-modules-core"}},{"name":"granted","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"A convenience boolean that indicates if the permission is granted."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"status","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines the status of the permission."}]},"type":{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsInterface.ts","qualifiedName":"PermissionStatus"},"name":"PermissionStatus","package":"expo-modules-core"}}]},{"name":"PresentationOptions","variant":"declaration","kind":2097152,"children":[{"name":"startNewActivityTask","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to launch the Activity as a new [task](https://developer.android.com/reference/android/content/Intent#FLAG_ACTIVITY_NEW_TASK).\nIf "},{"kind":"code","text":"`true`"},{"kind":"text","text":", the promise resolves with "},{"kind":"code","text":"`'done'`"},{"kind":"text","text":" action immediately after opening the calendar activity."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]},{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]},{"name":"RecurrenceRule","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A recurrence rule for events or reminders, allowing the same calendar item to recur multiple times.\nThis type is based on [the iOS interface](https://developer.apple.com/documentation/eventkit/ekrecurrencerule/1507320-initrecurrencewithfrequency)\nwhich is in turn based on [the iCal RFC](https://tools.ietf.org/html/rfc5545#section-3.8.5.3)\nso you can refer to those to learn more about this potentially complex interface.\n\nNot all the combinations make sense. For example, when frequency is "},{"kind":"code","text":"`DAILY`"},{"kind":"text","text":", setting "},{"kind":"code","text":"`daysOfTheMonth`"},{"kind":"text","text":" makes no sense."}]},"children":[{"name":"daysOfTheMonth","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the month this event occurs on.\n"},{"kind":"code","text":"`-31`"},{"kind":"text","text":" to "},{"kind":"code","text":"`31`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Monthly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"daysOfTheWeek","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the week the event should recur on. An array of ["},{"kind":"code","text":"`DaysOfTheWeek`"},{"kind":"text","text":"](#daysoftheweek) object."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"DaysOfTheWeek","package":"expo-calendar"}}},{"name":"daysOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the year this event occurs on.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date on which the calendar item should stop recurring; overrides "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" if both are specified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"frequency","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How often the calendar item should recur."}]},"type":{"type":"reference","name":"Frequency","package":"expo-calendar"}},{"name":"interval","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interval at which the calendar item should recur. For example, an "},{"kind":"code","text":"`interval: 2`"},{"kind":"text","text":" with "},{"kind":"code","text":"`frequency: DAILY`"},{"kind":"text","text":"\nwould yield an event that recurs every other day."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"1"}]}]},"type":{"type":"intrinsic","name":"number"}},{"name":"monthsOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The months this event occurs on.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"MonthOfTheYear","package":"expo-calendar"}}},{"name":"occurrence","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of times the calendar item should recur before stopping."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"setPositions","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"TAn array of numbers that filters which recurrences to include. For example, for an event that\nrecurs every Monday, passing 2 here will make it recur every other Monday.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"weeksOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The weeks of the year this event occurs on.\n"},{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}}]},{"name":"RecurringEventOptions","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Options for specifying a particular instance of a recurring event.\nThis type is used in various methods that operate on recurring events, such as updating or deleting a single occurrence or a set of future occurrences."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"futureEvents","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether future events in the recurring series should also be updated. If "},{"kind":"code","text":"`true`"},{"kind":"text","text":", will\napply the given changes to the recurring instance specified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":" and all\nfuture events in the series. If "},{"kind":"code","text":"`false`"},{"kind":"text","text":", will only apply the given changes to the instance\nspecified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"Source","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A source account that owns a particular calendar. Expo apps will typically not need to interact with "},{"kind":"code","text":"`Source`"},{"kind":"text","text":" objects."}]},"children":[{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this source on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"isLocalAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether this source is the local phone account. Must be "},{"kind":"code","text":"`true`"},{"kind":"text","text":" if "},{"kind":"code","text":"`type`"},{"kind":"text","text":" is "},{"kind":"code","text":"`undefined`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"name","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar and was used to sync the calendar to the device."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"type","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Type of the account that owns this calendar and was used to sync it to the device.\nIf "},{"kind":"code","text":"`isLocalAccount`"},{"kind":"text","text":" is falsy then this must be defined, and must match an account on the device\nalong with "},{"kind":"code","text":"`name`"},{"kind":"text","text":", or the OS will delete the calendar.\nOn iOS, one of ["},{"kind":"code","text":"`SourceType`"},{"kind":"text","text":"](#sourcetype)s."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"SourceType","package":"expo-calendar"}]}}]},{"name":"getCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to check write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.getCalendarPermissions"},{"name":"requestCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to request write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.requestCalendarPermissions"},{"name":"useCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's calendars.\nThis uses both "},{"kind":"code","text":"`getCalendarPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestCalendarPermissions`"},{"kind":"text","text":" to interact\nwith the permissions.\nOn iOS, "},{"kind":"code","text":"`writeOnly`"},{"kind":"text","text":" requests permission to create calendar events without reading\nexisting calendars or events. It does not grant permission to create, update, or delete calendars."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useCalendarPermissions();\n```"}]}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"writeOnly","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}}]}}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}},"defaultValue":"..."},{"name":"createAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"createAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.createAttendee()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendar","variant":"declaration","kind":64,"signatures":[{"name":"createCalendar","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new calendar on the device, allowing events to be added later and displayed in the OS Calendar app."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the newly created calendar."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of details for the calendar to be created."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`createCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createEvent()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.addEventWithForm()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventData","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},{"type":"literal","value":"id"}],"name":"Omit","package":"typescript"},"defaultValue":"{}"},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"createReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createReminder()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"editEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"editEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.editInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getAttendeesForEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getAttendeesForEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.getAttendees()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendars","variant":"declaration","kind":64,"signatures":[{"name":"getCalendars","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects with details about the different calendars stored on the device."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects matching the provided entity type (if provided)."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"__iOS Only.__ Not required, but if defined, filters the returned calendars to\na specific [entity type](#entitytypes). Possible values are "},{"kind":"code","text":"`Calendar.EntityTypes.EVENT`"},{"kind":"text","text":" (for calendars shown in\nthe Calendar app) and "},{"kind":"code","text":"`Calendar.EntityTypes.REMINDER`"},{"kind":"text","text":" (for the Reminders app).\n> **Note:** If not defined, you will need both permissions: **CALENDAR** and **REMINDERS**."}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getDefaultCalendarSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarSync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an instance of the default calendar object.\n> **Android:** This function is not available on Android. Android does not expose a single\n> system-managed default calendar. Use "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" and choose an appropriate writable\n> calendar for your app; "},{"kind":"code","text":"`isPrimary`"},{"kind":"text","text":" can help identify per-account primary calendars."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object that is the user's default calendar."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}]},{"name":"getEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarEvent.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getEventsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`listEvents()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"startDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"getReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarReminder.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.listReminders()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"status","variant":"param","kind":32768,"type":{"type":"reference","name":"ReminderStatus","package":"expo-calendar"}},{"name":"startDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersPermissions","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersPermissions","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's reminders."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourceAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourceAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"Source","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourcesAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourcesAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getSourcesSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getSourcesSync","variant":"declaration","kind":64,"signatures":[{"name":"getSourcesSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an array of Source objects with details about the different sources stored on the device.\n> **Android:** This function is not available on Android. Android does not expose a\n> first-class calendar sources API. If you need account-like source information, call\n> "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" and inspect each calendar's "},{"kind":"code","text":"`source`"},{"kind":"text","text":" field."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of Source objects representing the sources found."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}}]},{"name":"isAvailableAsync","variant":"declaration","kind":64,"signatures":[{"name":"isAvailableAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"boolean"}],"name":"Promise","package":"typescript"}}]},{"name":"listEvents","variant":"declaration","kind":64,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Lists events from the device's calendar. It can be used to search events in multiple calendars.\n> **Note:** If you want to search events in a single calendar, you can use ["},{"kind":"code","text":"`ExpoCalendar.listEvents`"},{"kind":"text","text":"](#listeventsstartdate-enddate) instead."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) objects representing the events found."}]}]},"parameters":[{"name":"calendars","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"An array of calendar IDs ("},{"kind":"code","text":"`string[]`"},{"kind":"text","text":") or ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) objects to search for events."}]},"type":{"type":"array","elementType":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}]}}},{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The start date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The end date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"openEventInCalendar","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendar","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"openEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"OpenEventPresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"presentPicker","variant":"declaration","kind":64,"signatures":[{"name":"presentPicker","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the OS calendar picker and returns the selected calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" when the picker is cancelled."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"union","types":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},{"type":"literal","value":null}]}],"name":"Promise","package":"typescript"}}]},{"name":"requestCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestRemindersPermissions","variant":"declaration","kind":64,"signatures":[{"name":"requestRemindersPermissions","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's reminders."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"updateAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"useRemindersPermissions","variant":"declaration","kind":64,"signatures":[{"name":"useRemindersPermissions","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's reminders.\nThis uses both "},{"kind":"code","text":"`getRemindersPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestRemindersPermissions`"},{"kind":"text","text":" to interact\nwith the permissions."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useRemindersPermissions();\n```"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}],"packageName":"expo-calendar"} \ No newline at end of file diff --git a/docs/public/static/data/v56.0.0/expo-calendar.json b/docs/public/static/data/v56.0.0/expo-calendar.json index a318a19adce6c4..955f3459d6f1cd 100644 --- a/docs/public/static/data/v56.0.0/expo-calendar.json +++ b/docs/public/static/data/v56.0.0/expo-calendar.json @@ -1 +1 @@ -{"schemaVersion":"2.0","name":"expo-calendar","variant":"project","kind":1,"children":[{"name":"AlarmMethod","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"ALARM","variant":"declaration","kind":16,"type":{"type":"literal","value":"alarm"}},{"name":"ALERT","variant":"declaration","kind":16,"type":{"type":"literal","value":"alert"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"EMAIL","variant":"declaration","kind":16,"type":{"type":"literal","value":"email"}},{"name":"SMS","variant":"declaration","kind":16,"type":{"type":"literal","value":"sms"}}]},{"name":"AttendeeRole","variant":"declaration","kind":8,"children":[{"name":"ATTENDEE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"attendee"}},{"name":"CHAIR","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"chair"}},{"name":"NON_PARTICIPANT","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"nonParticipant"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"ORGANIZER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"organizer"}},{"name":"PERFORMER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"performer"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"required"}},{"name":"SPEAKER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"speaker"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeStatus","variant":"declaration","kind":8,"children":[{"name":"ACCEPTED","variant":"declaration","kind":16,"type":{"type":"literal","value":"accepted"}},{"name":"COMPLETED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"completed"}},{"name":"DECLINED","variant":"declaration","kind":16,"type":{"type":"literal","value":"declined"}},{"name":"DELEGATED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"delegated"}},{"name":"IN_PROCESS","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"inProcess"}},{"name":"INVITED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"invited"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"PENDING","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"pending"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeType","variant":"declaration","kind":8,"children":[{"name":"GROUP","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"group"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"PERSON","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"person"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"required"}},{"name":"RESOURCE","variant":"declaration","kind":16,"type":{"type":"literal","value":"resource"}},{"name":"ROOM","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"room"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"Availability","variant":"declaration","kind":8,"children":[{"name":"BUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"busy"}},{"name":"FREE","variant":"declaration","kind":16,"type":{"type":"literal","value":"free"}},{"name":"NOT_SUPPORTED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"notSupported"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNAVAILABLE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unavailable"}}]},{"name":"CalendarAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONTRIBUTOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"contributor"}},{"name":"EDITOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"editor"}},{"name":"FREEBUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"freebusy"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"OVERRIDE","variant":"declaration","kind":16,"type":{"type":"literal","value":"override"}},{"name":"OWNER","variant":"declaration","kind":16,"type":{"type":"literal","value":"owner"}},{"name":"READ","variant":"declaration","kind":16,"type":{"type":"literal","value":"read"}},{"name":"RESPOND","variant":"declaration","kind":16,"type":{"type":"literal","value":"respond"}},{"name":"ROOT","variant":"declaration","kind":16,"type":{"type":"literal","value":"root"}}]},{"name":"CalendarDialogResultActions","variant":"declaration","kind":8,"comment":{"summary":[{"kind":"text","text":"Enum containing all possible user responses to the calendar UI dialogs. Depending on what dialog is presented, a subset of the values applies."}]},"children":[{"name":"canceled","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user canceled or dismissed the dialog."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"canceled"}},{"name":"deleted","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user deleted the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"deleted"}},{"name":"done","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"On Android, this is the only possible result because the OS doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, modified the event, or deleted it.\n\nOn iOS, this means the user simply closed the dialog."}]},"type":{"type":"literal","value":"done"}},{"name":"responded","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user responded to and saved a pending event invitation."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"responded"}},{"name":"saved","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user saved a new event or modified an existing one."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"saved"}}]},{"name":"CalendarType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"type":{"type":"literal","value":"unknown"}}]},{"name":"DayOfTheWeek","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"Friday","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"Monday","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"Saturday","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"Sunday","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"Thursday","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"Tuesday","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"Wednesday","variant":"declaration","kind":16,"type":{"type":"literal","value":4}}]},{"name":"EntityTypes","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"EVENT","variant":"declaration","kind":16,"type":{"type":"literal","value":"event"}},{"name":"REMINDER","variant":"declaration","kind":16,"type":{"type":"literal","value":"reminder"}}]},{"name":"EventAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONFIDENTIAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"confidential"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"PRIVATE","variant":"declaration","kind":16,"type":{"type":"literal","value":"private"}},{"name":"PUBLIC","variant":"declaration","kind":16,"type":{"type":"literal","value":"public"}}]},{"name":"EventStatus","variant":"declaration","kind":8,"children":[{"name":"CANCELED","variant":"declaration","kind":16,"type":{"type":"literal","value":"canceled"}},{"name":"CONFIRMED","variant":"declaration","kind":16,"type":{"type":"literal","value":"confirmed"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}}]},{"name":"Frequency","variant":"declaration","kind":8,"children":[{"name":"DAILY","variant":"declaration","kind":16,"type":{"type":"literal","value":"daily"}},{"name":"MONTHLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"monthly"}},{"name":"WEEKLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"weekly"}},{"name":"YEARLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"yearly"}}]},{"name":"MonthOfTheYear","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"April","variant":"declaration","kind":16,"type":{"type":"literal","value":4}},{"name":"August","variant":"declaration","kind":16,"type":{"type":"literal","value":8}},{"name":"December","variant":"declaration","kind":16,"type":{"type":"literal","value":12}},{"name":"February","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"January","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"July","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"June","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"March","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"May","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"November","variant":"declaration","kind":16,"type":{"type":"literal","value":11}},{"name":"October","variant":"declaration","kind":16,"type":{"type":"literal","value":10}},{"name":"September","variant":"declaration","kind":16,"type":{"type":"literal","value":9}}]},{"name":"ReminderStatus","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"COMPLETED","variant":"declaration","kind":16,"type":{"type":"literal","value":"completed"}},{"name":"INCOMPLETE","variant":"declaration","kind":16,"type":{"type":"literal","value":"incomplete"}}]},{"name":"SourceType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"MOBILEME","variant":"declaration","kind":16,"type":{"type":"literal","value":"mobileme"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}}]},{"name":"ExpoCalendar","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar object that can be accessed and modified using the Expo Calendar Next API.\n\nThis class provides properties and methods for interacting with a specific calendar on the device,\nsuch as retrieving its events, updating its details, and accessing its metadata."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendar","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Level of access that the user has for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"CalendarAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.accessLevel"}},{"name":"allowedAttendeeTypes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Attendee types that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AttendeeType","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAttendeeTypes"}},{"name":"allowedAvailabilities","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Availability types that this calendar supports."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Availability","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAvailabilities"}},{"name":"allowedReminders","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Alarm methods that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedReminders"}},{"name":"allowsModifications","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value that determines whether this calendar can be modified."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowsModifications"}},{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Color used to display this calendar's events."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.color"}},{"name":"entityType","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the calendar is used in the Calendar or Reminders OS app."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.entityType"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this calendar on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.id"}},{"name":"isPrimary","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether this is the device's primary calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isPrimary"}},{"name":"isSynced","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether this calendar is synced and its events stored on the device.\nUnexpected behavior may occur if this is not set to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isSynced"}},{"name":"isVisible","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether the OS displays events on this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isVisible"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal system name of the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.name"}},{"name":"ownerAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.ownerAccount"}},{"name":"source","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing the source to be used for the calendar."}]},"type":{"type":"reference","name":"Source","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.source"}},{"name":"sourceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the source to be used for the calendar. Likely the same as the source for any other\nlocally stored calendars."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.sourceId"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the calendar."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.title"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of calendar this object represents."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"CalendarType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.type"}},{"name":"addEventWithForm","variant":"declaration","kind":2048,"signatures":[{"name":"addEventWithForm","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the system-provided dialog to create a new event in this calendar, pre-filled with the provided data.\nRequires at minimum write-only calendar permission."}]},"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"AddEventWithFormOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}},{"name":"createEvent","variant":"declaration","kind":2048,"signatures":[{"name":"createEvent","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new event in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created event."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"creationDate"},{"type":"literal","value":"lastModifiedDate"},{"type":"literal","value":"originalStartDate"},{"type":"literal","value":"isDetached"},{"type":"literal","value":"status"},{"type":"literal","value":"organizer"}]}],"name":"Omit","package":"typescript"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}},{"name":"createReminder","variant":"declaration","kind":2048,"signatures":[{"name":"createReminder","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new reminder in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created reminder."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"delete","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Deletes the calendar."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}},{"name":"listEvents","variant":"declaration","kind":2048,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a calendar event list for the given date range."}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}},{"name":"listReminders","variant":"declaration","kind":2048,"signatures":[{"name":"listReminders","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a list of reminders matching the provided criteria. If "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" and "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" are defined,\nreturns all reminders that overlap at all with the "},{"kind":"code","text":"`[startDate, endDate]`"},{"kind":"text","text":" interval, that is, all reminders\nthat end after the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" or begin before the "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) objects matching the search criteria."}]}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Beginning of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders before "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"End of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders after "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"status","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"One of "},{"kind":"code","text":"`Calendar.ReminderStatus.COMPLETED`"},{"kind":"text","text":" or "},{"kind":"code","text":"`Calendar.ReminderStatus.INCOMPLETE`"},{"kind":"text","text":". If not defined, both completed and incomplete reminders will be returned."}]},"type":{"type":"union","types":[{"type":"reference","name":"ReminderStatus","package":"expo-calendar"},{"type":"literal","value":null}]},"defaultValue":"null"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableCalendarProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a calendar by its ID. Throws an error if the calendar with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the calendar."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the calendar to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"}]},{"name":"ExpoCalendarAttendee","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar attendee object."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarAttendee","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}},{"name":"email","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email of the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.email"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this attendee on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.id"}},{"name":"isCurrentUser","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not this attendee is the current OS user."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.isCurrentUser"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Displayed name of the attendee."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.name"}},{"name":"role","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Role of the attendee at the event."}]},"type":{"type":"reference","name":"AttendeeRole","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.role"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the attendee in relation to the event."}]},"type":{"type":"reference","name":"AttendeeStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.status"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of the attendee."}]},"type":{"type":"reference","name":"AttendeeType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.type"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.url"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ModifiableAttendeeProperties"},"name":"ModifiableAttendeeProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"},"name":"ExpoCalendarAttendee","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"}]},{"name":"ExpoCalendarEvent","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar event object that can be accessed and modified using the Expo Calendar Next API."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarEvent","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"User's access level for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"EventAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.accessLevel"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated reminders to the user."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the event is displayed as an all-day event on the calendar"}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.allDay"}},{"name":"availability","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"The availability setting for the event."}]},"type":{"type":"reference","name":"Availability","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.availability"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.calendarId"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was created."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.creationDate"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event ends."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endDate"}},{"name":"endTimeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the end date of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endTimeZone"}},{"name":"guestsCanInviteOthers","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can invite other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanInviteOthers"}},{"name":"guestsCanModify","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can modify the details of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanModify"}},{"name":"guestsCanSeeGuests","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can see other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanSeeGuests"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this event on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.id"}},{"name":"instanceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For instances of recurring events, volatile ID representing this instance. Not guaranteed to\nalways refer to the same instance."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.instanceId"}},{"name":"isDetached","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether or not the event is a detached (modified) instance of a recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.isDetached"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was last modified."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the event."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.notes"}},{"name":"organizer","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Organizer of the event.\nThis property is only available on events associated with calendars that are managed by a service such as Google Calendar or iCloud.\nThe organizer is read-only and cannot be set."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Organizer"},"name":"Organizer","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizer"}},{"name":"organizerEmail","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email address of the organizer of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizerEmail"}},{"name":"originalId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For detached (modified) instances of recurring events, the ID of the original recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalId"}},{"name":"originalStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For recurring events, the start date for the first (original) instance of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalStartDate"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeating events. Set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time events.\nIt is either "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" or "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" based."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event starts."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.startDate"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the event."}]},"type":{"type":"reference","name":"EventStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.status"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the event is scheduled in.\nWhen set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":", the event is scheduled to the device's time zone."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.url"}},{"name":"createAttendee","variant":"declaration","kind":2048,"signatures":[{"name":"createAttendee","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new attendee and adds it to this event."}]},"parameters":[{"name":"attendee","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the event."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}},{"name":"editInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"editInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to edit or delete an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogParamsNext"},"name":"CalendarDialogParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}},{"name":"getAttendees","variant":"declaration","kind":2048,"signatures":[{"name":"getAttendees","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets all attendees for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`Attendee`"},{"kind":"text","text":"](#attendee) associated with the specified event."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}},{"name":"getOccurrenceSync","variant":"declaration","kind":2048,"signatures":[{"name":"getOccurrenceSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns an event instance for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An event instance."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"recurringEventOptions","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of options for recurring events."}]},"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}},{"name":"openInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"openInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to preview an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogOpenParamsNext"},"name":"CalendarDialogOpenParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableEventProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an event by its ID. Throws an error if the event with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) object representing the event."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the event to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"}]},{"name":"ExpoCalendarReminder","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar reminder object that can be accessed and modified using the Expo Calendar Next API."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarReminder","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated alarms to the user about the task."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the reminder is an all-day reminder."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.allDay"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.calendarId"}},{"name":"completed","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not the task has been completed."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completed"}},{"name":"completionDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the date of completion, if "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" is "},{"kind":"code","text":"`true`"},{"kind":"text","text":".\nSetting this property of a nonnull "},{"kind":"code","text":"`Date`"},{"kind":"text","text":" will automatically set the reminder's "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" value to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completionDate"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was created."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.creationDate"}},{"name":"dueDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the reminder task is due."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.dueDate"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this reminder on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.id"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was last modified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the reminder"}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.notes"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeated reminders. "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time tasks."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the start date of the reminder task."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.startDate"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the reminder is scheduled in."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.url"}},{"name":"delete","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"delete","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Deletes the reminder."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableReminderProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a reminder by its ID. Throws an error if the reminder with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) object representing the reminder."}]}]},"parameters":[{"name":"reminderId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the reminder to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"}]},{"name":"AddEventWithFormOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}}]}}]}},{"name":"Alarm","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A method for having the OS automatically remind the user about a calendar item."}]},"children":[{"name":"absoluteDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing an absolute time the alarm should occur.\nOverrides "},{"kind":"code","text":"`relativeOffset`"},{"kind":"text","text":" and "},{"kind":"code","text":"`structuredLocation`"},{"kind":"text","text":" if specified alongside either."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"method","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Method of alerting the user that this alarm should use. On iOS this is always a notification."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},{"name":"relativeOffset","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of minutes from the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" of the calendar item that the alarm should occur.\nUse negative values to have the alarm occur before the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"structuredLocation","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"AlarmLocation","package":"expo-calendar"}}]},{"name":"AlarmLocation","variant":"declaration","kind":2097152,"children":[{"name":"coords","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"latitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"longitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"proximity","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"radius","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"CalendarDialogParams","variant":"declaration","kind":2097152,"children":[{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"ID of the event to be presented in the calendar UI."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"DaysOfTheWeek","variant":"declaration","kind":2097152,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"dayOfTheWeek","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Sunday to Saturday - "},{"kind":"code","text":"`DayOfTheWeek`"},{"kind":"text","text":" enum."}]},"type":{"type":"reference","name":"DayOfTheWeek","package":"expo-calendar"}},{"name":"weekNumber","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" ("},{"kind":"code","text":"`0`"},{"kind":"text","text":" ignores this field, and a negative indicates a value from the end of the range)."}]},"type":{"type":"intrinsic","name":"number"}}]},{"name":"DialogEventResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting a calendar dialog for creating or editing an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How user responded to the dialog.\nOn Android, this is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":" (Android doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, saved or deleted the event).\n\nOn iOS, it can be "},{"kind":"code","text":"`saved`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":" or "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"saved"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"}]}],"name":"Extract","package":"typescript"}},{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"The ID of the event that was created or edited. On Android, this is always "},{"kind":"code","text":"`null`"},{"kind":"text","text":".\n\nOn iOS, this is a string when permissions are granted and user confirms the creation or editing of an event. Otherwise, it's "},{"kind":"code","text":"`null`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]}}]},{"name":"ModifiableCalendarProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"color"},{"type":"literal","value":"title"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableEventProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"availability"},{"type":"literal","value":"startDate"},{"type":"literal","value":"endDate"},{"type":"literal","value":"allDay"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableReminderProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"startDate"},{"type":"literal","value":"dueDate"},{"type":"literal","value":"completed"},{"type":"literal","value":"completionDate"}]}],"name":"Pick","package":"typescript"}},{"name":"OpenEventDialogResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting the calendar dialog for opening (viewing) an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates how user responded to the dialog.\nOn Android, the "},{"kind":"code","text":"`action`"},{"kind":"text","text":" is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":".\nOn iOS, it can be "},{"kind":"code","text":"`done`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":", "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":" or "},{"kind":"code","text":"`responded`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"},{"type":"literal","value":"responded"}]}],"name":"Extract","package":"typescript"}}]},{"name":"OpenEventPresentationOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"allowsCalendarPreview","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Determines whether event can be shown in calendar day view preview.\nThis property applies only to invitations."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"allowsEditing","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to allow the user to edit the previewed event.\nThis property applies only to events in calendars created by the user.\n\nNote that if the user edits the event, the returned action is the one that user performs last.\nFor example, when user previews the event, confirms some edits and finally dismisses the dialog, the event is edited, but response is "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]}}]}},{"name":"PermissionExpiration","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Permission expiration time. Currently, all permissions are granted permanently."}]},"type":{"type":"union","types":[{"type":"literal","value":"never"},{"type":"intrinsic","name":"number"}]}},{"name":"PermissionHookOptions","variant":"declaration","kind":2097152,"typeParameters":[{"name":"Options","variant":"typeParam","kind":131072,"type":{"type":"intrinsic","name":"object"}}],"type":{"type":"intersection","types":[{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"PermissionHookBehavior"},"name":"PermissionHookBehavior","package":"expo-modules-core"},{"type":"reference","name":"Options","package":"expo-modules-core","refersToTypeParameter":true}]}},{"name":"PermissionResponse","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"An object obtained by permissions get and request functions."}]},"children":[{"name":"canAskAgain","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates if user can be asked again for specific permission.\nIf not, one should be directed to the Settings app\nin order to enable/disable the permission."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"expires","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines time when the permission expires."}]},"type":{"type":"reference","name":"PermissionExpiration","package":"expo-modules-core"}},{"name":"granted","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"A convenience boolean that indicates if the permission is granted."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"status","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines the status of the permission."}]},"type":{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsInterface.ts","qualifiedName":"PermissionStatus"},"name":"PermissionStatus","package":"expo-modules-core"}}]},{"name":"PresentationOptions","variant":"declaration","kind":2097152,"children":[{"name":"startNewActivityTask","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to launch the Activity as a new [task](https://developer.android.com/reference/android/content/Intent#FLAG_ACTIVITY_NEW_TASK).\nIf "},{"kind":"code","text":"`true`"},{"kind":"text","text":", the promise resolves with "},{"kind":"code","text":"`'done'`"},{"kind":"text","text":" action immediately after opening the calendar activity."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]},{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]},{"name":"RecurrenceRule","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A recurrence rule for events or reminders, allowing the same calendar item to recur multiple times.\nThis type is based on [the iOS interface](https://developer.apple.com/documentation/eventkit/ekrecurrencerule/1507320-initrecurrencewithfrequency)\nwhich is in turn based on [the iCal RFC](https://tools.ietf.org/html/rfc5545#section-3.8.5.3)\nso you can refer to those to learn more about this potentially complex interface.\n\nNot all the combinations make sense. For example, when frequency is "},{"kind":"code","text":"`DAILY`"},{"kind":"text","text":", setting "},{"kind":"code","text":"`daysOfTheMonth`"},{"kind":"text","text":" makes no sense."}]},"children":[{"name":"daysOfTheMonth","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the month this event occurs on.\n"},{"kind":"code","text":"`-31`"},{"kind":"text","text":" to "},{"kind":"code","text":"`31`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Monthly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"daysOfTheWeek","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the week the event should recur on. An array of ["},{"kind":"code","text":"`DaysOfTheWeek`"},{"kind":"text","text":"](#daysoftheweek) object."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"DaysOfTheWeek","package":"expo-calendar"}}},{"name":"daysOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the year this event occurs on.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date on which the calendar item should stop recurring; overrides "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" if both are specified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"frequency","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How often the calendar item should recur."}]},"type":{"type":"reference","name":"Frequency","package":"expo-calendar"}},{"name":"interval","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interval at which the calendar item should recur. For example, an "},{"kind":"code","text":"`interval: 2`"},{"kind":"text","text":" with "},{"kind":"code","text":"`frequency: DAILY`"},{"kind":"text","text":"\nwould yield an event that recurs every other day."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"1"}]}]},"type":{"type":"intrinsic","name":"number"}},{"name":"monthsOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The months this event occurs on.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"MonthOfTheYear","package":"expo-calendar"}}},{"name":"occurrence","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of times the calendar item should recur before stopping."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"setPositions","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"TAn array of numbers that filters which recurrences to include. For example, for an event that\nrecurs every Monday, passing 2 here will make it recur every other Monday.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"weeksOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The weeks of the year this event occurs on.\n"},{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}}]},{"name":"RecurringEventOptions","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Options for specifying a particular instance of a recurring event.\nThis type is used in various methods that operate on recurring events, such as updating or deleting a single occurrence or a set of future occurrences."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"futureEvents","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether future events in the recurring series should also be updated. If "},{"kind":"code","text":"`true`"},{"kind":"text","text":", will\napply the given changes to the recurring instance specified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":" and all\nfuture events in the series. If "},{"kind":"code","text":"`false`"},{"kind":"text","text":", will only apply the given changes to the instance\nspecified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"Source","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A source account that owns a particular calendar. Expo apps will typically not need to interact with "},{"kind":"code","text":"`Source`"},{"kind":"text","text":" objects."}]},"children":[{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this source on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"isLocalAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether this source is the local phone account. Must be "},{"kind":"code","text":"`true`"},{"kind":"text","text":" if "},{"kind":"code","text":"`type`"},{"kind":"text","text":" is "},{"kind":"code","text":"`undefined`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"name","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar and was used to sync the calendar to the device."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"type","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Type of the account that owns this calendar and was used to sync it to the device.\nIf "},{"kind":"code","text":"`isLocalAccount`"},{"kind":"text","text":" is falsy then this must be defined, and must match an account on the device\nalong with "},{"kind":"code","text":"`name`"},{"kind":"text","text":", or the OS will delete the calendar.\nOn iOS, one of ["},{"kind":"code","text":"`SourceType`"},{"kind":"text","text":"](#sourcetype)s."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"SourceType","package":"expo-calendar"}]}}]},{"name":"getCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to check write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.getCalendarPermissions"},{"name":"getRemindersPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's reminders."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.getRemindersPermissions"},{"name":"getSourcesSync","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Gets an array of Source objects with details about the different sources stored on the device."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of Source objects representing the sources found."}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}}]}},"defaultValue":"InternalExpoCalendar.getSourcesSync"},{"name":"requestCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to request write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.requestCalendarPermissions"},{"name":"requestRemindersPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's reminders."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.requestRemindersPermissions"},{"name":"useCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's calendars.\nThis uses both "},{"kind":"code","text":"`getCalendarPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestCalendarPermissions`"},{"kind":"text","text":" to interact\nwith the permissions.\nOn iOS, "},{"kind":"code","text":"`writeOnly`"},{"kind":"text","text":" requests permission to create calendar events without reading\nexisting calendars or events. It does not grant permission to create, update, or delete calendars."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useCalendarPermissions();\n```"}]}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"writeOnly","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}}]}}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}},"defaultValue":"..."},{"name":"useRemindersPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's reminders.\nThis uses both "},{"kind":"code","text":"`getRemindersPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestRemindersPermissions`"},{"kind":"text","text":" to interact\nwith the permissions."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useRemindersPermissions();\n```"}]}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}},"defaultValue":"..."},{"name":"createAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"createAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.createAttendee()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendar","variant":"declaration","kind":64,"signatures":[{"name":"createCalendar","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new calendar on the device, allowing events to be added later and displayed in the OS Calendar app."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the newly created calendar."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of details for the calendar to be created."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`createCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createEvent()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.addEventWithForm()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventData","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},{"type":"literal","value":"id"}],"name":"Omit","package":"typescript"},"defaultValue":"{}"},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"createReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createReminder()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"editEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"editEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.editInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getAttendeesForEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getAttendeesForEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.getAttendees()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendars","variant":"declaration","kind":64,"signatures":[{"name":"getCalendars","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects with details about the different calendars stored on the device."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects matching the provided entity type (if provided)."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"__iOS Only.__ Not required, but if defined, filters the returned calendars to\na specific [entity type](#entitytypes). Possible values are "},{"kind":"code","text":"`Calendar.EntityTypes.EVENT`"},{"kind":"text","text":" (for calendars shown in\nthe Calendar app) and "},{"kind":"code","text":"`Calendar.EntityTypes.REMINDER`"},{"kind":"text","text":" (for the Reminders app).\n> **Note:** If not defined, you will need both permissions: **CALENDAR** and **REMINDERS**."}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getDefaultCalendarSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarSync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an instance of the default calendar object."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object that is the user's default calendar."}]}]},"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}]},{"name":"getEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarEvent.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getEventsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`listEvents()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"startDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"getReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarReminder.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.listReminders()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"status","variant":"param","kind":32768,"type":{"type":"reference","name":"ReminderStatus","package":"expo-calendar"}},{"name":"startDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourceAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourceAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"Source","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourcesAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourcesAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getSourcesSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"isAvailableAsync","variant":"declaration","kind":64,"signatures":[{"name":"isAvailableAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"boolean"}],"name":"Promise","package":"typescript"}}]},{"name":"listEvents","variant":"declaration","kind":64,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Lists events from the device's calendar. It can be used to search events in multiple calendars.\n> **Note:** If you want to search events in a single calendar, you can use ["},{"kind":"code","text":"`ExpoCalendar.listEvents`"},{"kind":"text","text":"](#listeventsstartdate-enddate) instead."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) objects representing the events found."}]}]},"parameters":[{"name":"calendars","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"An array of calendar IDs ("},{"kind":"code","text":"`string[]`"},{"kind":"text","text":") or ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) objects to search for events."}]},"type":{"type":"array","elementType":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}]}}},{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The start date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The end date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"openEventInCalendar","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendar","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"openEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"OpenEventPresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"presentPicker","variant":"declaration","kind":64,"signatures":[{"name":"presentPicker","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the OS calendar picker and returns the selected calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" when the picker is cancelled."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"union","types":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},{"type":"literal","value":null}]}],"name":"Promise","package":"typescript"}}]},{"name":"requestCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"updateAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]}],"packageName":"expo-calendar"} \ No newline at end of file +{"schemaVersion":"2.0","name":"expo-calendar","variant":"project","kind":1,"children":[{"name":"AlarmMethod","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"ALARM","variant":"declaration","kind":16,"type":{"type":"literal","value":"alarm"}},{"name":"ALERT","variant":"declaration","kind":16,"type":{"type":"literal","value":"alert"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"EMAIL","variant":"declaration","kind":16,"type":{"type":"literal","value":"email"}},{"name":"SMS","variant":"declaration","kind":16,"type":{"type":"literal","value":"sms"}}]},{"name":"AttendeeRole","variant":"declaration","kind":8,"children":[{"name":"ATTENDEE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"attendee"}},{"name":"CHAIR","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"chair"}},{"name":"NON_PARTICIPANT","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"nonParticipant"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"ORGANIZER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"organizer"}},{"name":"PERFORMER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"performer"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"required"}},{"name":"SPEAKER","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"speaker"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeStatus","variant":"declaration","kind":8,"children":[{"name":"ACCEPTED","variant":"declaration","kind":16,"type":{"type":"literal","value":"accepted"}},{"name":"COMPLETED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"completed"}},{"name":"DECLINED","variant":"declaration","kind":16,"type":{"type":"literal","value":"declined"}},{"name":"DELEGATED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"delegated"}},{"name":"IN_PROCESS","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"inProcess"}},{"name":"INVITED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"invited"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"PENDING","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"pending"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"AttendeeType","variant":"declaration","kind":8,"children":[{"name":"GROUP","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"group"}},{"name":"NONE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"none"}},{"name":"OPTIONAL","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"optional"}},{"name":"PERSON","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"person"}},{"name":"REQUIRED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"literal","value":"required"}},{"name":"RESOURCE","variant":"declaration","kind":16,"type":{"type":"literal","value":"resource"}},{"name":"ROOM","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"room"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unknown"}}]},{"name":"Availability","variant":"declaration","kind":8,"children":[{"name":"BUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"busy"}},{"name":"FREE","variant":"declaration","kind":16,"type":{"type":"literal","value":"free"}},{"name":"NOT_SUPPORTED","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"notSupported"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}},{"name":"UNAVAILABLE","variant":"declaration","kind":16,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"unavailable"}}]},{"name":"CalendarAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONTRIBUTOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"contributor"}},{"name":"EDITOR","variant":"declaration","kind":16,"type":{"type":"literal","value":"editor"}},{"name":"FREEBUSY","variant":"declaration","kind":16,"type":{"type":"literal","value":"freebusy"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"OVERRIDE","variant":"declaration","kind":16,"type":{"type":"literal","value":"override"}},{"name":"OWNER","variant":"declaration","kind":16,"type":{"type":"literal","value":"owner"}},{"name":"READ","variant":"declaration","kind":16,"type":{"type":"literal","value":"read"}},{"name":"RESPOND","variant":"declaration","kind":16,"type":{"type":"literal","value":"respond"}},{"name":"ROOT","variant":"declaration","kind":16,"type":{"type":"literal","value":"root"}}]},{"name":"CalendarDialogResultActions","variant":"declaration","kind":8,"comment":{"summary":[{"kind":"text","text":"Enum containing all possible user responses to the calendar UI dialogs. Depending on what dialog is presented, a subset of the values applies."}]},"children":[{"name":"canceled","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user canceled or dismissed the dialog."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"canceled"}},{"name":"deleted","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user deleted the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"deleted"}},{"name":"done","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"On Android, this is the only possible result because the OS doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, modified the event, or deleted it.\n\nOn iOS, this means the user simply closed the dialog."}]},"type":{"type":"literal","value":"done"}},{"name":"responded","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user responded to and saved a pending event invitation."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"responded"}},{"name":"saved","variant":"declaration","kind":16,"comment":{"summary":[{"kind":"text","text":"The user saved a new event or modified an existing one."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"literal","value":"saved"}}]},{"name":"CalendarType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}},{"name":"UNKNOWN","variant":"declaration","kind":16,"type":{"type":"literal","value":"unknown"}}]},{"name":"DayOfTheWeek","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"Friday","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"Monday","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"Saturday","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"Sunday","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"Thursday","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"Tuesday","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"Wednesday","variant":"declaration","kind":16,"type":{"type":"literal","value":4}}]},{"name":"EntityTypes","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"EVENT","variant":"declaration","kind":16,"type":{"type":"literal","value":"event"}},{"name":"REMINDER","variant":"declaration","kind":16,"type":{"type":"literal","value":"reminder"}}]},{"name":"EventAccessLevel","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"CONFIDENTIAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"confidential"}},{"name":"DEFAULT","variant":"declaration","kind":16,"type":{"type":"literal","value":"default"}},{"name":"PRIVATE","variant":"declaration","kind":16,"type":{"type":"literal","value":"private"}},{"name":"PUBLIC","variant":"declaration","kind":16,"type":{"type":"literal","value":"public"}}]},{"name":"EventStatus","variant":"declaration","kind":8,"children":[{"name":"CANCELED","variant":"declaration","kind":16,"type":{"type":"literal","value":"canceled"}},{"name":"CONFIRMED","variant":"declaration","kind":16,"type":{"type":"literal","value":"confirmed"}},{"name":"NONE","variant":"declaration","kind":16,"type":{"type":"literal","value":"none"}},{"name":"TENTATIVE","variant":"declaration","kind":16,"type":{"type":"literal","value":"tentative"}}]},{"name":"Frequency","variant":"declaration","kind":8,"children":[{"name":"DAILY","variant":"declaration","kind":16,"type":{"type":"literal","value":"daily"}},{"name":"MONTHLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"monthly"}},{"name":"WEEKLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"weekly"}},{"name":"YEARLY","variant":"declaration","kind":16,"type":{"type":"literal","value":"yearly"}}]},{"name":"MonthOfTheYear","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"April","variant":"declaration","kind":16,"type":{"type":"literal","value":4}},{"name":"August","variant":"declaration","kind":16,"type":{"type":"literal","value":8}},{"name":"December","variant":"declaration","kind":16,"type":{"type":"literal","value":12}},{"name":"February","variant":"declaration","kind":16,"type":{"type":"literal","value":2}},{"name":"January","variant":"declaration","kind":16,"type":{"type":"literal","value":1}},{"name":"July","variant":"declaration","kind":16,"type":{"type":"literal","value":7}},{"name":"June","variant":"declaration","kind":16,"type":{"type":"literal","value":6}},{"name":"March","variant":"declaration","kind":16,"type":{"type":"literal","value":3}},{"name":"May","variant":"declaration","kind":16,"type":{"type":"literal","value":5}},{"name":"November","variant":"declaration","kind":16,"type":{"type":"literal","value":11}},{"name":"October","variant":"declaration","kind":16,"type":{"type":"literal","value":10}},{"name":"September","variant":"declaration","kind":16,"type":{"type":"literal","value":9}}]},{"name":"ReminderStatus","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"COMPLETED","variant":"declaration","kind":16,"type":{"type":"literal","value":"completed"}},{"name":"INCOMPLETE","variant":"declaration","kind":16,"type":{"type":"literal","value":"incomplete"}}]},{"name":"SourceType","variant":"declaration","kind":8,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"BIRTHDAYS","variant":"declaration","kind":16,"type":{"type":"literal","value":"birthdays"}},{"name":"CALDAV","variant":"declaration","kind":16,"type":{"type":"literal","value":"caldav"}},{"name":"EXCHANGE","variant":"declaration","kind":16,"type":{"type":"literal","value":"exchange"}},{"name":"LOCAL","variant":"declaration","kind":16,"type":{"type":"literal","value":"local"}},{"name":"MOBILEME","variant":"declaration","kind":16,"type":{"type":"literal","value":"mobileme"}},{"name":"SUBSCRIBED","variant":"declaration","kind":16,"type":{"type":"literal","value":"subscribed"}}]},{"name":"ExpoCalendar","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar object that can be accessed and modified using the Expo Calendar Next API.\n\nThis class provides properties and methods for interacting with a specific calendar on the device,\nsuch as retrieving its events, updating its details, and accessing its metadata."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendar","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Level of access that the user has for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"CalendarAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.accessLevel"}},{"name":"allowedAttendeeTypes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Attendee types that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AttendeeType","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAttendeeTypes"}},{"name":"allowedAvailabilities","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Availability types that this calendar supports."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Availability","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedAvailabilities"}},{"name":"allowedReminders","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Alarm methods that this calendar supports."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowedReminders"}},{"name":"allowsModifications","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value that determines whether this calendar can be modified."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.allowsModifications"}},{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Color used to display this calendar's events."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.color"}},{"name":"entityType","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the calendar is used in the Calendar or Reminders OS app."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.entityType"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this calendar on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.id"}},{"name":"isPrimary","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether this is the device's primary calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isPrimary"}},{"name":"isSynced","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether this calendar is synced and its events stored on the device.\nUnexpected behavior may occur if this is not set to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isSynced"}},{"name":"isVisible","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether the OS displays events on this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.isVisible"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal system name of the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.name"}},{"name":"ownerAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.ownerAccount"}},{"name":"source","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing the source to be used for the calendar."}]},"type":{"type":"reference","name":"Source","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.source"}},{"name":"sourceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the source to be used for the calendar. Likely the same as the source for any other\nlocally stored calendars."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.sourceId"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the calendar."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the calendar."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.title"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of calendar this object represents."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"CalendarType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.type"}},{"name":"addEventWithForm","variant":"declaration","kind":2048,"signatures":[{"name":"addEventWithForm","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the system-provided dialog to create a new event in this calendar, pre-filled with the provided data.\nRequires at minimum write-only calendar permission."}]},"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"AddEventWithFormOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.addEventWithForm"}},{"name":"createEvent","variant":"declaration","kind":2048,"signatures":[{"name":"createEvent","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new event in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created event."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"creationDate"},{"type":"literal","value":"lastModifiedDate"},{"type":"literal","value":"originalStartDate"},{"type":"literal","value":"isDetached"},{"type":"literal","value":"status"},{"type":"literal","value":"organizer"}]}],"name":"Omit","package":"typescript"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createEvent","package":"expo-calendar"}},{"name":"createReminder","variant":"declaration","kind":2048,"signatures":[{"name":"createReminder","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new reminder in the calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An instance of the created reminder."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.createReminder","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"delete","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Deletes the calendar."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.delete"}},{"name":"listEvents","variant":"declaration","kind":2048,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a calendar event list for the given date range."}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listEvents","package":"expo-calendar"}},{"name":"listReminders","variant":"declaration","kind":2048,"signatures":[{"name":"listReminders","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns a list of reminders matching the provided criteria. If "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" and "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" are defined,\nreturns all reminders that overlap at all with the "},{"kind":"code","text":"`[startDate, endDate]`"},{"kind":"text","text":" interval, that is, all reminders\nthat end after the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" or begin before the "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) objects matching the search criteria."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Beginning of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders before "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"End of time period to search for reminders in, or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for all completed reminders after "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"literal","value":null}]},"defaultValue":"null"},{"name":"status","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"One of "},{"kind":"code","text":"`Calendar.ReminderStatus.COMPLETED`"},{"kind":"text","text":" or "},{"kind":"code","text":"`Calendar.ReminderStatus.INCOMPLETE`"},{"kind":"text","text":". If not defined, both completed and incomplete reminders will be returned."}]},"type":{"type":"union","types":[{"type":"reference","name":"ReminderStatus","package":"expo-calendar"},{"type":"literal","value":null}]},"defaultValue":"null"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.listReminders","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableCalendarProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.update"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a calendar by its ID. Throws an error if the calendar with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the calendar."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the calendar to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendar.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendar"}]},{"name":"ExpoCalendarAttendee","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar attendee object."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarAttendee","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.constructor","package":"expo-calendar"}},{"name":"email","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email of the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.email"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this attendee on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.id"}},{"name":"isCurrentUser","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not this attendee is the current OS user."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.isCurrentUser"}},{"name":"name","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Displayed name of the attendee."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.name"}},{"name":"role","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Role of the attendee at the event."}]},"type":{"type":"reference","name":"AttendeeRole","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.role"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the attendee in relation to the event."}]},"type":{"type":"reference","name":"AttendeeStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.status"}},{"name":"type","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Type of the attendee."}]},"type":{"type":"reference","name":"AttendeeType","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.type"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.url"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the attendee."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ModifiableAttendeeProperties"},"name":"ModifiableAttendeeProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarAttendee.update","package":"expo-calendar"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"},"name":"ExpoCalendarAttendee","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarAttendee"}]},{"name":"ExpoCalendarEvent","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar event object that can be accessed and modified using the Expo Calendar Next API."}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarEvent","variant":"signature","kind":16384,"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.constructor","package":"expo-calendar"}},{"name":"accessLevel","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"User's access level for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"EventAccessLevel","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.accessLevel"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated reminders to the user."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the event is displayed as an all-day event on the calendar"}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.allDay"}},{"name":"availability","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"The availability setting for the event."}]},"type":{"type":"reference","name":"Availability","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.availability"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.calendarId"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was created."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.creationDate"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event ends."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endDate"}},{"name":"endTimeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone for the end date of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.endTimeZone"}},{"name":"guestsCanInviteOthers","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can invite other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanInviteOthers"}},{"name":"guestsCanModify","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can modify the details of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanModify"}},{"name":"guestsCanSeeGuests","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether invited guests can see other guests."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.guestsCanSeeGuests"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this event on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.id"}},{"name":"instanceId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For instances of recurring events, volatile ID representing this instance. Not guaranteed to\nalways refer to the same instance."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.instanceId"}},{"name":"isDetached","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Boolean value indicating whether or not the event is a detached (modified) instance of a recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.isDetached"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the event record was last modified."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the event."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.notes"}},{"name":"organizer","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Organizer of the event.\nThis property is only available on events associated with calendars that are managed by a service such as Google Calendar or iCloud.\nThe organizer is read-only and cannot be set."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Organizer"},"name":"Organizer","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizer"}},{"name":"organizerEmail","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Email address of the organizer of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.organizerEmail"}},{"name":"originalId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For detached (modified) instances of recurring events, the ID of the original recurring event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalId"}},{"name":"originalStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"For recurring events, the start date for the first (original) instance of the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.originalStartDate"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeating events. Set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time events.\nIt is either "},{"kind":"code","text":"`endDate`"},{"kind":"text","text":" or "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" based."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the event starts."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.startDate"}},{"name":"status","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Status of the event."}]},"type":{"type":"reference","name":"EventStatus","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.status"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the event is scheduled in.\nWhen set to "},{"kind":"code","text":"`null`"},{"kind":"text","text":", the event is scheduled to the device's time zone."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the event."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the event."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.url"}},{"name":"createAttendee","variant":"declaration","kind":2048,"signatures":[{"name":"createAttendee","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new attendee and adds it to this event."}]},"parameters":[{"name":"attendee","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.createAttendee","package":"expo-calendar"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the event."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.delete"}},{"name":"editInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"editInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to edit or delete an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogParamsNext"},"name":"CalendarDialogParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.editInCalendar","package":"expo-calendar"}},{"name":"getAttendees","variant":"declaration","kind":2048,"signatures":[{"name":"getAttendees","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets all attendees for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`Attendee`"},{"kind":"text","text":"](#attendee) associated with the specified event."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarAttendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getAttendees"}},{"name":"getOccurrenceSync","variant":"declaration","kind":2048,"signatures":[{"name":"getOccurrenceSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Returns an event instance for a given event (or instance of a recurring event)."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An event instance."}]}]},"parameters":[{"name":"recurringEventOptions","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of options for recurring events."}]},"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.getOccurrenceSync"}},{"name":"openInCalendar","variant":"declaration","kind":2048,"flags":{"isInherited":true},"signatures":[{"name":"openInCalendar","variant":"signature","kind":4096,"flags":{"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Launches the calendar UI provided by the OS to preview an event."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise which resolves with information about the dialog result."}]},{"tag":"@header","content":[{"kind":"text","text":"systemProvidedUI"}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"CalendarDialogOpenParamsNext"},"name":"CalendarDialogOpenParamsNext","package":"expo-calendar"},{"type":"literal","value":null}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.openInCalendar","package":"expo-calendar"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Updates the provided details of an existing calendar stored on the device. To remove a property,\nexplicitly set it to "},{"kind":"code","text":"`null`"},{"kind":"text","text":" in "},{"kind":"code","text":"`details`"},{"kind":"text","text":"."}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of properties to be updated."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableEventProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an event by its ID. Throws an error if the event with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) object representing the event."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the event to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarEvent.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarEvent"}]},{"name":"ExpoCalendarReminder","variant":"declaration","kind":128,"comment":{"summary":[{"kind":"text","text":"Represents a calendar reminder object that can be accessed and modified using the Expo Calendar Next API."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"constructor","variant":"declaration","kind":512,"signatures":[{"name":"ExpoCalendarReminder","variant":"signature","kind":16384,"type":{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}}],"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.constructor","package":"expo-calendar"}},{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of Alarm objects which control automated alarms to the user about the task."}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.alarms"}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Whether the reminder is an all-day reminder."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.allDay"}},{"name":"calendarId","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"ID of the calendar that contains this reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.calendarId"}},{"name":"completed","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether or not the task has been completed."}]},"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completed"}},{"name":"completionDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the date of completion, if "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" is "},{"kind":"code","text":"`true`"},{"kind":"text","text":".\nSetting this property of a nonnull "},{"kind":"code","text":"`Date`"},{"kind":"text","text":" will automatically set the reminder's "},{"kind":"code","text":"`completed`"},{"kind":"text","text":" value to "},{"kind":"code","text":"`true`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.completionDate"}},{"name":"creationDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was created."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.creationDate"}},{"name":"dueDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the time when the reminder task is due."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.dueDate"}},{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this reminder on the device."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.id"}},{"name":"lastModifiedDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date when the reminder record was last modified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.lastModifiedDate"}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Location field of the reminder"}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.location"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Description or notes saved with the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.notes"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Object representing rules for recurring or repeated reminders. "},{"kind":"code","text":"`null`"},{"kind":"text","text":" for one-time tasks."}]},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"},{"type":"literal","value":null}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.recurrenceRule"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing the start date of the reminder task."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.startDate"}},{"name":"timeZone","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Time zone the reminder is scheduled in."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.timeZone"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Visible name of the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.title"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"URL for the reminder."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.url"}},{"name":"delete","variant":"declaration","kind":2048,"signatures":[{"name":"delete","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Deletes the reminder."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.delete"}},{"name":"update","variant":"declaration","kind":2048,"signatures":[{"name":"update","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","name":"ModifiableReminderProperties","package":"expo-calendar"}],"name":"Partial","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.update","package":"expo-calendar"}},{"name":"get","variant":"declaration","kind":2048,"flags":{"isStatic":true},"signatures":[{"name":"get","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets a reminder by its ID. Throws an error if the reminder with the given ID does not exist."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendarReminder`"},{"kind":"text","text":"](#expocalendarreminder) object representing the reminder."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"reminderId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The ID of the reminder to get."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendarReminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"},"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"overwrites":{"type":"reference","name":"InternalExpoCalendar.ExpoCalendarReminder.get"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.ts","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar","qualifiedName":"ExpoCalendarNextModule.ExpoCalendarReminder"}]},{"name":"AddEventWithFormOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"alarms","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"Alarm","package":"expo-calendar"}}},{"name":"allDay","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"location","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"notes","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"recurrenceRule","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/types/RecurrenceRule.ts","qualifiedName":"RecurrenceRule"},"name":"RecurrenceRule","package":"expo-calendar"}},{"name":"startDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"},{"type":"intrinsic","name":"string"}]}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"url","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}}]}}]}},{"name":"Alarm","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A method for having the OS automatically remind the user about a calendar item."}]},"children":[{"name":"absoluteDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object or string representing an absolute time the alarm should occur.\nOverrides "},{"kind":"code","text":"`relativeOffset`"},{"kind":"text","text":" and "},{"kind":"code","text":"`structuredLocation`"},{"kind":"text","text":" if specified alongside either."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"method","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Method of alerting the user that this alarm should use. On iOS this is always a notification."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"AlarmMethod","package":"expo-calendar"}},{"name":"relativeOffset","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of minutes from the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":" of the calendar item that the alarm should occur.\nUse negative values to have the alarm occur before the "},{"kind":"code","text":"`startDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"structuredLocation","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"AlarmLocation","package":"expo-calendar"}}]},{"name":"AlarmLocation","variant":"declaration","kind":2097152,"children":[{"name":"coords","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"latitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"longitude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"proximity","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"radius","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"title","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"CalendarDialogParams","variant":"declaration","kind":2097152,"children":[{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"ID of the event to be presented in the calendar UI."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"DaysOfTheWeek","variant":"declaration","kind":2097152,"comment":{"summary":[],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"dayOfTheWeek","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Sunday to Saturday - "},{"kind":"code","text":"`DayOfTheWeek`"},{"kind":"text","text":" enum."}]},"type":{"type":"reference","name":"DayOfTheWeek","package":"expo-calendar"}},{"name":"weekNumber","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" ("},{"kind":"code","text":"`0`"},{"kind":"text","text":" ignores this field, and a negative indicates a value from the end of the range)."}]},"type":{"type":"intrinsic","name":"number"}}]},{"name":"DialogEventResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting a calendar dialog for creating or editing an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How user responded to the dialog.\nOn Android, this is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":" (Android doesn't provide enough information to determine the user's action -\nthe user may have canceled the dialog, saved or deleted the event).\n\nOn iOS, it can be "},{"kind":"code","text":"`saved`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":" or "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"saved"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"}]}],"name":"Extract","package":"typescript"}},{"name":"id","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"The ID of the event that was created or edited. On Android, this is always "},{"kind":"code","text":"`null`"},{"kind":"text","text":".\n\nOn iOS, this is a string when permissions are granted and user confirms the creation or editing of an event. Otherwise, it's "},{"kind":"code","text":"`null`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"literal","value":null}]}}]},{"name":"ModifiableCalendarProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendar"},"name":"ExpoCalendar","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"color"},{"type":"literal","value":"title"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableEventProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarEvent"},"name":"ExpoCalendarEvent","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"availability"},{"type":"literal","value":"startDate"},{"type":"literal","value":"endDate"},{"type":"literal","value":"allDay"}]}],"name":"Pick","package":"typescript"}},{"name":"ModifiableReminderProperties","variant":"declaration","kind":2097152,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Pick"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/ExpoCalendar.types.ts","qualifiedName":"ExpoCalendarReminder"},"name":"ExpoCalendarReminder","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"title"},{"type":"literal","value":"location"},{"type":"literal","value":"timeZone"},{"type":"literal","value":"url"},{"type":"literal","value":"notes"},{"type":"literal","value":"alarms"},{"type":"literal","value":"recurrenceRule"},{"type":"literal","value":"startDate"},{"type":"literal","value":"dueDate"},{"type":"literal","value":"completed"},{"type":"literal","value":"completionDate"}]}],"name":"Pick","package":"typescript"}},{"name":"OpenEventDialogResult","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"The result of presenting the calendar dialog for opening (viewing) an event."}]},"children":[{"name":"action","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates how user responded to the dialog.\nOn Android, the "},{"kind":"code","text":"`action`"},{"kind":"text","text":" is always "},{"kind":"code","text":"`done`"},{"kind":"text","text":".\nOn iOS, it can be "},{"kind":"code","text":"`done`"},{"kind":"text","text":", "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":", "},{"kind":"code","text":"`deleted`"},{"kind":"text","text":" or "},{"kind":"code","text":"`responded`"},{"kind":"text","text":"."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Extract"},"typeArguments":[{"type":"reference","name":"CalendarDialogResultActions","package":"expo-calendar"},{"type":"union","types":[{"type":"literal","value":"done"},{"type":"literal","value":"canceled"},{"type":"literal","value":"deleted"},{"type":"literal","value":"responded"}]}],"name":"Extract","package":"typescript"}}]},{"name":"OpenEventPresentationOptions","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reference","name":"PresentationOptions","package":"expo-calendar"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"allowsCalendarPreview","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Determines whether event can be shown in calendar day view preview.\nThis property applies only to invitations."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"allowsEditing","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to allow the user to edit the previewed event.\nThis property applies only to events in calendars created by the user.\n\nNote that if the user edits the event, the returned action is the one that user performs last.\nFor example, when user previews the event, confirms some edits and finally dismisses the dialog, the event is edited, but response is "},{"kind":"code","text":"`canceled`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]}}]}},{"name":"PermissionExpiration","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Permission expiration time. Currently, all permissions are granted permanently."}]},"type":{"type":"union","types":[{"type":"literal","value":"never"},{"type":"intrinsic","name":"number"}]}},{"name":"PermissionHookOptions","variant":"declaration","kind":2097152,"typeParameters":[{"name":"Options","variant":"typeParam","kind":131072,"type":{"type":"intrinsic","name":"object"}}],"type":{"type":"intersection","types":[{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"PermissionHookBehavior"},"name":"PermissionHookBehavior","package":"expo-modules-core"},{"type":"reference","name":"Options","package":"expo-modules-core","refersToTypeParameter":true}]}},{"name":"PermissionResponse","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"An object obtained by permissions get and request functions."}]},"children":[{"name":"canAskAgain","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Indicates if user can be asked again for specific permission.\nIf not, one should be directed to the Settings app\nin order to enable/disable the permission."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"expires","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines time when the permission expires."}]},"type":{"type":"reference","name":"PermissionExpiration","package":"expo-modules-core"}},{"name":"granted","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"A convenience boolean that indicates if the permission is granted."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"status","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Determines the status of the permission."}]},"type":{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsInterface.ts","qualifiedName":"PermissionStatus"},"name":"PermissionStatus","package":"expo-modules-core"}}]},{"name":"PresentationOptions","variant":"declaration","kind":2097152,"children":[{"name":"startNewActivityTask","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether to launch the Activity as a new [task](https://developer.android.com/reference/android/content/Intent#FLAG_ACTIVITY_NEW_TASK).\nIf "},{"kind":"code","text":"`true`"},{"kind":"text","text":", the promise resolves with "},{"kind":"code","text":"`'done'`"},{"kind":"text","text":" action immediately after opening the calendar activity."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]},{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]},{"name":"RecurrenceRule","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A recurrence rule for events or reminders, allowing the same calendar item to recur multiple times.\nThis type is based on [the iOS interface](https://developer.apple.com/documentation/eventkit/ekrecurrencerule/1507320-initrecurrencewithfrequency)\nwhich is in turn based on [the iCal RFC](https://tools.ietf.org/html/rfc5545#section-3.8.5.3)\nso you can refer to those to learn more about this potentially complex interface.\n\nNot all the combinations make sense. For example, when frequency is "},{"kind":"code","text":"`DAILY`"},{"kind":"text","text":", setting "},{"kind":"code","text":"`daysOfTheMonth`"},{"kind":"text","text":" makes no sense."}]},"children":[{"name":"daysOfTheMonth","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the month this event occurs on.\n"},{"kind":"code","text":"`-31`"},{"kind":"text","text":" to "},{"kind":"code","text":"`31`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Monthly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"daysOfTheWeek","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the week the event should recur on. An array of ["},{"kind":"code","text":"`DaysOfTheWeek`"},{"kind":"text","text":"](#daysoftheweek) object."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"DaysOfTheWeek","package":"expo-calendar"}}},{"name":"daysOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The days of the year this event occurs on.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"endDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date on which the calendar item should stop recurring; overrides "},{"kind":"code","text":"`occurrence`"},{"kind":"text","text":" if both are specified."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"frequency","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"How often the calendar item should recur."}]},"type":{"type":"reference","name":"Frequency","package":"expo-calendar"}},{"name":"interval","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interval at which the calendar item should recur. For example, an "},{"kind":"code","text":"`interval: 2`"},{"kind":"text","text":" with "},{"kind":"code","text":"`frequency: DAILY`"},{"kind":"text","text":"\nwould yield an event that recurs every other day."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"1"}]}]},"type":{"type":"intrinsic","name":"number"}},{"name":"monthsOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The months this event occurs on.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"MonthOfTheYear","package":"expo-calendar"}}},{"name":"occurrence","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Number of times the calendar item should recur before stopping."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"setPositions","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"TAn array of numbers that filters which recurrences to include. For example, for an event that\nrecurs every Monday, passing 2 here will make it recur every other Monday.\n"},{"kind":"code","text":"`-366`"},{"kind":"text","text":" to "},{"kind":"code","text":"`366`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}},{"name":"weeksOfTheYear","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The weeks of the year this event occurs on.\n"},{"kind":"code","text":"`-53`"},{"kind":"text","text":" to "},{"kind":"code","text":"`53`"},{"kind":"text","text":" (not including "},{"kind":"code","text":"`0`"},{"kind":"text","text":"). Negative indicates a value from the end of the range.\nThis field is only valid for "},{"kind":"code","text":"`Calendar.Frequency.Yearly`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"number"}}}]},{"name":"RecurringEventOptions","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"Options for specifying a particular instance of a recurring event.\nThis type is used in various methods that operate on recurring events, such as updating or deleting a single occurrence or a set of future occurrences."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"futureEvents","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether future events in the recurring series should also be updated. If "},{"kind":"code","text":"`true`"},{"kind":"text","text":", will\napply the given changes to the recurring instance specified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":" and all\nfuture events in the series. If "},{"kind":"code","text":"`false`"},{"kind":"text","text":", will only apply the given changes to the instance\nspecified by "},{"kind":"code","text":"`instanceStartDate`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"instanceStartDate","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Date object representing the start time of the desired instance, if looking for a single instance\nof a recurring event. If this is not provided and **id** represents a recurring event, the first\ninstance of that event will be returned by default."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}]},{"name":"Source","variant":"declaration","kind":2097152,"comment":{"summary":[{"kind":"text","text":"A source account that owns a particular calendar. Expo apps will typically not need to interact with "},{"kind":"code","text":"`Source`"},{"kind":"text","text":" objects."}]},"children":[{"name":"id","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Internal ID that represents this source on the device."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"isLocalAccount","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether this source is the local phone account. Must be "},{"kind":"code","text":"`true`"},{"kind":"text","text":" if "},{"kind":"code","text":"`type`"},{"kind":"text","text":" is "},{"kind":"code","text":"`undefined`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"name","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Name for the account that owns this calendar and was used to sync the calendar to the device."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"type","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Type of the account that owns this calendar and was used to sync it to the device.\nIf "},{"kind":"code","text":"`isLocalAccount`"},{"kind":"text","text":" is falsy then this must be defined, and must match an account on the device\nalong with "},{"kind":"code","text":"`name`"},{"kind":"text","text":", or the OS will delete the calendar.\nOn iOS, one of ["},{"kind":"code","text":"`SourceType`"},{"kind":"text","text":"](#sourcetype)s."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"SourceType","package":"expo-calendar"}]}}]},{"name":"getCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to check write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.getCalendarPermissions"},{"name":"requestCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's calendars."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]}]},"parameters":[{"name":"writeOnly","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"On iOS, whether to request write-only access, which allows creating calendar events\nwithout reading existing calendars or events. This does not grant permission to create, update, or delete calendars."}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]}},"defaultValue":"InternalExpoCalendar.requestCalendarPermissions"},{"name":"useCalendarPermissions","variant":"declaration","kind":32,"flags":{"isConst":true},"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's calendars.\nThis uses both "},{"kind":"code","text":"`getCalendarPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestCalendarPermissions`"},{"kind":"text","text":" to interact\nwith the permissions.\nOn iOS, "},{"kind":"code","text":"`writeOnly`"},{"kind":"text","text":" requests permission to create calendar events without reading\nexisting calendars or events. It does not grant permission to create, update, or delete calendars."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useCalendarPermissions();\n```"}]}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"writeOnly","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}}]}}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}},"defaultValue":"..."},{"name":"createAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"createAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.createAttendee()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendar","variant":"declaration","kind":64,"signatures":[{"name":"createCalendar","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Creates a new calendar on the device, allowing events to be added later and displayed in the OS Calendar app."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object representing the newly created calendar."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A map of details for the calendar to be created."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`createCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createEvent()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"createEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"createEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.addEventWithForm()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"eventData","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Omit"},"typeArguments":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},{"type":"literal","value":"id"}],"name":"Omit","package":"typescript"},"defaultValue":"{}"},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"createReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"createReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.createReminder()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarId","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"deleteReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"deleteReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.delete()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]},{"name":"editEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"editEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.editInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"PresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"DialogEventResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getAttendeesForEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getAttendeesForEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.getAttendees()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendars","variant":"declaration","kind":64,"signatures":[{"name":"getCalendars","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects with details about the different calendars stored on the device."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) shared objects matching the provided entity type (if provided)."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"__iOS Only.__ Not required, but if defined, filters the returned calendars to\na specific [entity type](#entitytypes). Possible values are "},{"kind":"code","text":"`Calendar.EntityTypes.EVENT`"},{"kind":"text","text":" (for calendars shown in\nthe Calendar app) and "},{"kind":"code","text":"`Calendar.EntityTypes.REMINDER`"},{"kind":"text","text":" (for the Reminders app).\n> **Note:** If not defined, you will need both permissions: **CALENDAR** and **REMINDERS**."}]},"type":{"type":"reference","name":"EntityTypes","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getCalendarsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getCalendarsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"entityType","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getDefaultCalendarSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getDefaultCalendarSync","variant":"declaration","kind":64,"signatures":[{"name":"getDefaultCalendarSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an instance of the default calendar object.\n> **Android:** This function is not available on Android. Android does not expose a single\n> system-managed default calendar. Use "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" and choose an appropriate writable\n> calendar for your app; "},{"kind":"code","text":"`isPrimary`"},{"kind":"text","text":" can help identify per-account primary calendars."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object that is the user's default calendar."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}}]},{"name":"getEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarEvent.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getEventsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getEventsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`listEvents()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"startDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"getReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`ExpoCalendarReminder.get()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.listReminders()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"calendarIds","variant":"param","kind":32768,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"status","variant":"param","kind":32768,"type":{"type":"reference","name":"ReminderStatus","package":"expo-calendar"}},{"name":"startDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}},{"name":"endDate","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}]}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersPermissions","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersPermissions","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Checks user's permissions for accessing user's reminders."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"getRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourceAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourceAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"Source","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"getSourcesAsync","variant":"declaration","kind":64,"signatures":[{"name":"getSourcesAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`getSourcesSync()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"getSourcesSync","variant":"declaration","kind":64,"signatures":[{"name":"getSourcesSync","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Gets an array of Source objects with details about the different sources stored on the device.\n> **Android:** This function is not available on Android. Android does not expose a\n> first-class calendar sources API. If you need account-like source information, call\n> "},{"kind":"code","text":"`getCalendars()`"},{"kind":"text","text":" and inspect each calendar's "},{"kind":"code","text":"`source`"},{"kind":"text","text":" field."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of Source objects representing the sources found."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"Source","package":"expo-calendar"}}}]},{"name":"isAvailableAsync","variant":"declaration","kind":64,"signatures":[{"name":"isAvailableAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"boolean"}],"name":"Promise","package":"typescript"}}]},{"name":"listEvents","variant":"declaration","kind":64,"signatures":[{"name":"listEvents","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Lists events from the device's calendar. It can be used to search events in multiple calendars.\n> **Note:** If you want to search events in a single calendar, you can use ["},{"kind":"code","text":"`ExpoCalendar.listEvents`"},{"kind":"text","text":"](#listeventsstartdate-enddate) instead."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An array of ["},{"kind":"code","text":"`ExpoCalendarEvent`"},{"kind":"text","text":"](#expocalendarevent) objects representing the events found."}]}]},"parameters":[{"name":"calendars","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"An array of calendar IDs ("},{"kind":"code","text":"`string[]`"},{"kind":"text","text":") or ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) objects to search for events."}]},"type":{"type":"array","elementType":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"}]}}},{"name":"startDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The start date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"endDate","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The end date of the time range to search for events."}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"array","elementType":{"type":"reference","name":"ExpoCalendarEvent","package":"expo-calendar"}}],"name":"Promise","package":"typescript"}}]},{"name":"openEventInCalendar","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendar","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"openEventInCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"openEventInCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.openInCalendar()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reference","name":"CalendarDialogParams","package":"expo-calendar"}},{"name":"presentationOptions","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","name":"OpenEventPresentationOptions","package":"expo-calendar"}}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"OpenEventDialogResult","package":"expo-calendar"}],"name":"Promise","package":"typescript"}}]},{"name":"presentPicker","variant":"declaration","kind":64,"signatures":[{"name":"presentPicker","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Presents the OS calendar picker and returns the selected calendar."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"An ["},{"kind":"code","text":"`ExpoCalendar`"},{"kind":"text","text":"](#expocalendar) object or "},{"kind":"code","text":"`null`"},{"kind":"text","text":" when the picker is cancelled."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"union","types":[{"type":"reference","name":"ExpoCalendar","package":"expo-calendar"},{"type":"literal","value":null}]}],"name":"Promise","package":"typescript"}}]},{"name":"requestCalendarPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestCalendarPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestCalendarPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestRemindersPermissions","variant":"declaration","kind":64,"signatures":[{"name":"requestRemindersPermissions","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Asks the user to grant permissions for accessing user's reminders."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A promise that resolves to an object of type ["},{"kind":"code","text":"`PermissionResponse`"},{"kind":"text","text":"](#permissionresponse)."}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"requestRemindersPermissionsAsync","variant":"declaration","kind":64,"signatures":[{"name":"requestRemindersPermissionsAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`requestRemindersPermissions()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"Promise","package":"typescript"}}]},{"name":"updateAttendeeAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateAttendeeAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`attendee.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Attendee"},"name":"Attendee","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateCalendarAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateCalendarAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`calendar.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Calendar"},"name":"Calendar","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateEventAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateEventAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`event.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Partial"},"typeArguments":[{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Event"},"name":"Event","package":"expo-calendar"}],"name":"Partial","package":"typescript"},"defaultValue":"{}"},{"name":"recurringEventOptions","variant":"param","kind":32768,"type":{"type":"reference","name":"RecurringEventOptions","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"updateReminderAsync","variant":"declaration","kind":64,"signatures":[{"name":"updateReminderAsync","variant":"signature","kind":4096,"comment":{"summary":[],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`reminder.update()`"},{"kind":"text","text":" or import this method from "},{"kind":"code","text":"`expo-calendar/legacy`"},{"kind":"text","text":". This method will throw in runtime."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"string"}},{"name":"details","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"expo-calendar","packagePath":"src/legacy/Calendar.ts","qualifiedName":"Reminder"},"name":"Reminder","package":"expo-calendar"},"defaultValue":"{}"}],"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"string"}],"name":"Promise","package":"typescript"}}]},{"name":"useRemindersPermissions","variant":"declaration","kind":64,"signatures":[{"name":"useRemindersPermissions","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Check or request permissions to access the user's reminders.\nThis uses both "},{"kind":"code","text":"`getRemindersPermissions`"},{"kind":"text","text":" and "},{"kind":"code","text":"`requestRemindersPermissions`"},{"kind":"text","text":" to interact\nwith the permissions."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```ts\nconst [status, requestPermission] = Calendar.useRemindersPermissions();\n```"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"parameters":[{"name":"options","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions","package":"expo-modules-core"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"},{"type":"literal","value":null}]},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"RequestPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"RequestPermissionMethod","package":"expo-modules-core"},{"type":"reference","target":{"packageName":"expo-modules-core","packagePath":"src/PermissionsHook.ts","qualifiedName":"GetPermissionMethod"},"typeArguments":[{"type":"reference","name":"PermissionResponse","package":"expo-modules-core"}],"name":"GetPermissionMethod","package":"expo-modules-core"}]}}]}],"packageName":"expo-calendar"} \ No newline at end of file diff --git a/packages/expo-calendar/CHANGELOG.md b/packages/expo-calendar/CHANGELOG.md index 6739619bf5dd62..c7612da72a3bde 100644 --- a/packages/expo-calendar/CHANGELOG.md +++ b/packages/expo-calendar/CHANGELOG.md @@ -8,6 +8,10 @@ ### 🐛 Bug fixes +- Add `@platform ios` JSDoc annotations to iOS-exclusive APIs: `ExpoCalendarReminder` class, `listReminders()`, `createReminder()`, `requestRemindersPermissions()`, `getRemindersPermissions()`, `useRemindersPermissions()`, `AddEventWithFormOptions.url`, and `AddEventWithFormOptions.alarms`. ([#46416](https://github.com/expo/expo/pull/46416) by [@kota113](https://github.com/kota113)) +- Throw `UnavailabilityError` when iOS-only Reminders and Sources APIs (`listReminders()`, `createReminder()`, `ExpoCalendarReminder.get/update/delete`, `requestRemindersPermissions()`, `getRemindersPermissions()`, and `getSourcesSync()`) are called on non-iOS platforms. ([#46416](https://github.com/expo/expo/pull/46416) by [@kota113](https://github.com/kota113)) +- Return a denied permission response from `useRemindersPermissions()` on non-iOS platforms instead of throwing. ([#46416](https://github.com/expo/expo/pull/46416) by [@kota113](https://github.com/kota113)) + ### 💡 Others ## 56.0.8 — 2026-05-21 diff --git a/packages/expo-calendar/build/Calendar.d.ts b/packages/expo-calendar/build/Calendar.d.ts index ba9d6d374e6c27..ce0ebb68750556 100644 --- a/packages/expo-calendar/build/Calendar.d.ts +++ b/packages/expo-calendar/build/Calendar.d.ts @@ -1,6 +1,7 @@ +import { type PermissionHookOptions } from 'expo'; import InternalExpoCalendar from './ExpoCalendar'; import type { ModifiableEventProperties, ModifiableReminderProperties, ModifiableCalendarProperties, ModifiableAttendeeProperties, AddEventWithFormOptions } from './ExpoCalendar.types'; -import type { Calendar, Attendee, DialogEventResult, EntityTypes, Event, RecurringEventOptions, Reminder, ReminderStatus, PermissionResponse } from './legacy/Calendar'; +import type { Calendar, Attendee, DialogEventResult, EntityTypes, Event, RecurringEventOptions, Reminder, ReminderStatus, PermissionResponse, Source } from './legacy/Calendar'; /** * Represents a calendar attendee object. */ @@ -21,9 +22,11 @@ export declare class ExpoCalendarEvent extends InternalExpoCalendar.ExpoCalendar } /** * Represents a calendar reminder object that can be accessed and modified using the Expo Calendar Next API. + * @platform ios */ export declare class ExpoCalendarReminder extends InternalExpoCalendar.ExpoCalendarReminder { update(details: Partial): Promise; + delete(): Promise; static get(reminderId: string): Promise; } /** @@ -43,7 +46,11 @@ export declare class ExpoCalendar extends InternalExpoCalendar.ExpoCalendar { } /** * Gets an instance of the default calendar object. + * > **Android:** This function is not available on Android. Android does not expose a single + * > system-managed default calendar. Use `getCalendars()` and choose an appropriate writable + * > calendar for your app; `isPrimary` can help identify per-account primary calendars. * @return An [`ExpoCalendar`](#expocalendar) object that is the user's default calendar. + * @platform ios */ export declare function getDefaultCalendarSync(): ExpoCalendar; /** @@ -93,18 +100,24 @@ export declare const getCalendarPermissions: (writeOnly?: boolean) => Promise Promise; +export declare function requestRemindersPermissions(): Promise; /** * Checks user's permissions for accessing user's reminders. * @return A promise that resolves to an object of type [`PermissionResponse`](#permissionresponse). + * @platform ios */ -export declare const getRemindersPermissions: () => Promise; +export declare function getRemindersPermissions(): Promise; /** * Gets an array of Source objects with details about the different sources stored on the device. + * > **Android:** This function is not available on Android. Android does not expose a + * > first-class calendar sources API. If you need account-like source information, call + * > `getCalendars()` and inspect each calendar's `source` field. * @returns An array of Source objects representing the sources found. + * @platform ios */ -export declare const getSourcesSync: () => import("./Calendar").Source[]; +export declare function getSourcesSync(): Source[]; export type { ModifiableEventProperties, ModifiableReminderProperties, ModifiableCalendarProperties, AddEventWithFormOptions, } from './ExpoCalendar.types'; export type { PermissionResponse, Alarm, AlarmLocation, CalendarDialogParams, DaysOfTheWeek, DialogEventResult, OpenEventDialogResult, OpenEventPresentationOptions, PermissionExpiration, PermissionHookOptions, PresentationOptions, RecurrenceRule, RecurringEventOptions, Source, } from './legacy/Calendar'; export { AlarmMethod, AttendeeRole, AttendeeStatus, AttendeeType, Availability, CalendarAccessLevel, CalendarDialogResultActions, CalendarType, DayOfTheWeek, EntityTypes, EventAccessLevel, EventStatus, Frequency, MonthOfTheYear, ReminderStatus, SourceType, } from './legacy/Calendar'; @@ -120,7 +133,7 @@ export { AlarmMethod, AttendeeRole, AttendeeStatus, AttendeeType, Availability, * const [status, requestPermission] = Calendar.useCalendarPermissions(); * ``` */ -export declare const useCalendarPermissions: (options?: import("expo-modules-core").PermissionHookOptions<{ +export declare const useCalendarPermissions: (options?: PermissionHookOptions<{ writeOnly?: boolean; }> | undefined) => [PermissionResponse | null, () => Promise, () => Promise]; /** @@ -132,7 +145,9 @@ export declare const useCalendarPermissions: (options?: import("expo-modules-cor * ```ts * const [status, requestPermission] = Calendar.useRemindersPermissions(); * ``` + * @platform ios */ -export declare const useRemindersPermissions: (options?: import("expo-modules-core").PermissionHookOptions | undefined) => [PermissionResponse | null, () => Promise, () => Promise]; +export declare function useRemindersPermissions(options?: PermissionHookOptions): ReturnType; +declare const createRemindersPermissionHook: (options?: PermissionHookOptions | undefined) => [PermissionResponse | null, () => Promise, () => Promise]; export * from './legacyWarnings'; //# sourceMappingURL=Calendar.d.ts.map \ No newline at end of file diff --git a/packages/expo-calendar/build/Calendar.d.ts.map b/packages/expo-calendar/build/Calendar.d.ts.map index 67e12eb4771c6d..b3d4c05ac9d286 100644 --- a/packages/expo-calendar/build/Calendar.d.ts.map +++ b/packages/expo-calendar/build/Calendar.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../src/Calendar.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../src/Calendar.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-calendar/build/Calendar.js b/packages/expo-calendar/build/Calendar.js index 45205fbd7786ee..64d83eafe007f8 100644 --- a/packages/expo-calendar/build/Calendar.js +++ b/packages/expo-calendar/build/Calendar.js @@ -1,4 +1,4 @@ -import { createPermissionHook } from 'expo'; +import { createPermissionHook, PermissionStatus } from 'expo'; import { UnavailabilityError } from 'expo-modules-core'; import { Platform, processColor } from 'react-native'; import InternalExpoCalendar from './ExpoCalendar'; @@ -60,13 +60,26 @@ export class ExpoCalendarEvent extends InternalExpoCalendar.ExpoCalendarEvent { } /** * Represents a calendar reminder object that can be accessed and modified using the Expo Calendar Next API. + * @platform ios */ export class ExpoCalendarReminder extends InternalExpoCalendar.ExpoCalendarReminder { async update(details) { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('ExpoCalendarReminder', 'update'); + } const nullableDetailsFields = getNullableDetailsFields(details); await super.update(stringifyDateValues(details), nullableDetailsFields); } + async delete() { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('ExpoCalendarReminder', 'delete'); + } + await super.delete(); + } static async get(reminderId) { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('ExpoCalendarReminder', 'get'); + } const reminder = await InternalExpoCalendar.getReminderById(reminderId); Object.setPrototypeOf(reminder, ExpoCalendarReminder.prototype); return reminder; @@ -85,6 +98,9 @@ export class ExpoCalendar extends InternalExpoCalendar.ExpoCalendar { return newEvent; } async createReminder(details) { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('ExpoCalendar', 'createReminder'); + } const newReminder = await super.createReminder(stringifyDateValues(details)); Object.setPrototypeOf(newReminder, ExpoCalendarReminder.prototype); return newReminder; @@ -103,6 +119,9 @@ export class ExpoCalendar extends InternalExpoCalendar.ExpoCalendar { }); } async listReminders(startDate = null, endDate = null, status = null) { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('ExpoCalendar', 'listReminders'); + } const reminders = await super.listReminders(startDate ? stringifyIfDate(startDate) : null, endDate ? stringifyIfDate(endDate) : null, status); return reminders.map((reminder) => { Object.setPrototypeOf(reminder, ExpoCalendarReminder.prototype); @@ -128,7 +147,11 @@ export class ExpoCalendar extends InternalExpoCalendar.ExpoCalendar { } /** * Gets an instance of the default calendar object. + * > **Android:** This function is not available on Android. Android does not expose a single + * > system-managed default calendar. Use `getCalendars()` and choose an appropriate writable + * > calendar for your app; `isPrimary` can help identify per-account primary calendars. * @return An [`ExpoCalendar`](#expocalendar) object that is the user's default calendar. + * @platform ios */ export function getDefaultCalendarSync() { if (Platform.OS === 'android' || !InternalExpoCalendar.getDefaultCalendarSync) { @@ -217,18 +240,39 @@ export const getCalendarPermissions = InternalExpoCalendar.getCalendarPermission /** * Asks the user to grant permissions for accessing user's reminders. * @return A promise that resolves to an object of type [`PermissionResponse`](#permissionresponse). + * @platform ios */ -export const requestRemindersPermissions = InternalExpoCalendar.requestRemindersPermissions; +export async function requestRemindersPermissions() { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('Calendar', 'requestRemindersPermissions'); + } + return InternalExpoCalendar.requestRemindersPermissions(); +} /** * Checks user's permissions for accessing user's reminders. * @return A promise that resolves to an object of type [`PermissionResponse`](#permissionresponse). + * @platform ios */ -export const getRemindersPermissions = InternalExpoCalendar.getRemindersPermissions; +export async function getRemindersPermissions() { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('Calendar', 'getRemindersPermissions'); + } + return InternalExpoCalendar.getRemindersPermissions(); +} /** * Gets an array of Source objects with details about the different sources stored on the device. + * > **Android:** This function is not available on Android. Android does not expose a + * > first-class calendar sources API. If you need account-like source information, call + * > `getCalendars()` and inspect each calendar's `source` field. * @returns An array of Source objects representing the sources found. + * @platform ios */ -export const getSourcesSync = InternalExpoCalendar.getSourcesSync; +export function getSourcesSync() { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('Calendar', 'getSourcesSync'); + } + return InternalExpoCalendar.getSourcesSync(); +} export { AlarmMethod, AttendeeRole, AttendeeStatus, AttendeeType, Availability, CalendarAccessLevel, CalendarDialogResultActions, CalendarType, DayOfTheWeek, EntityTypes, EventAccessLevel, EventStatus, Frequency, MonthOfTheYear, ReminderStatus, SourceType, } from './legacy/Calendar'; /** * Check or request permissions to access the user's calendars. @@ -255,8 +299,23 @@ export const useCalendarPermissions = createPermissionHook({ * ```ts * const [status, requestPermission] = Calendar.useRemindersPermissions(); * ``` + * @platform ios */ -export const useRemindersPermissions = createPermissionHook({ +export function useRemindersPermissions(options) { + if (Platform.OS !== 'ios') { + // While for getRemindersPermissions and other iOS-specific functions we throw UnavailabilityError, + // returning a denied permission response is a deliberate choice to make it work without need to wrap it in try/catch. + const response = { + canAskAgain: false, + expires: 'never', + granted: false, + status: PermissionStatus.DENIED, + }; + return [response, async () => response, async () => response]; + } + return createRemindersPermissionHook(options); +} +const createRemindersPermissionHook = createPermissionHook({ getMethod: getRemindersPermissions, requestMethod: requestRemindersPermissions, }); diff --git a/packages/expo-calendar/build/Calendar.js.map b/packages/expo-calendar/build/Calendar.js.map index e620eccba54a3f..d7f19186f6743a 100644 --- a/packages/expo-calendar/build/Calendar.js.map +++ b/packages/expo-calendar/build/Calendar.js.map @@ -1 +1 @@ -{"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../src/Calendar.ts"],"names":[],"mappings":"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","sourcesContent":["import { createPermissionHook } from 'expo';\nimport { UnavailabilityError } from 'expo-modules-core';\nimport { Platform, processColor } from 'react-native';\n\nimport InternalExpoCalendar from './ExpoCalendar';\nimport type {\n ModifiableEventProperties,\n ModifiableReminderProperties,\n ModifiableCalendarProperties,\n ModifiableAttendeeProperties,\n AddEventWithFormOptions,\n} from './ExpoCalendar.types';\nimport type {\n Calendar,\n Attendee,\n DialogEventResult,\n EntityTypes,\n Event,\n RecurringEventOptions,\n Reminder,\n ReminderStatus,\n PermissionResponse,\n} from './legacy/Calendar';\nimport { stringifyDateValues, stringifyIfDate, getNullableDetailsFields } from './utils';\n\n/**\n * Represents a calendar attendee object.\n */\nexport class ExpoCalendarAttendee extends InternalExpoCalendar.ExpoCalendarAttendee {\n override async update(details: Partial): Promise {\n if (!super.update) {\n throw new UnavailabilityError('ExpoCalendarAttendee', 'update');\n }\n const nullableDetailsFields = getNullableDetailsFields(details);\n return super.update(stringifyDateValues(details), nullableDetailsFields);\n }\n\n override async delete(): Promise {\n if (!super.delete) {\n throw new UnavailabilityError('ExpoCalendarAttendee', 'delete');\n }\n await super.delete();\n }\n}\n\n/**\n * Represents a calendar event object that can be accessed and modified using the Expo Calendar Next API.\n */\nexport class ExpoCalendarEvent extends InternalExpoCalendar.ExpoCalendarEvent {\n override getOccurrenceSync(recurringEventOptions: RecurringEventOptions = {}): ExpoCalendarEvent {\n const result = super.getOccurrenceSync(stringifyDateValues(recurringEventOptions));\n Object.setPrototypeOf(result, ExpoCalendarEvent.prototype);\n return result;\n }\n\n override async getAttendees(): Promise {\n const attendees = await super.getAttendees();\n return attendees.map((attendee) => {\n Object.setPrototypeOf(attendee, ExpoCalendarAttendee.prototype);\n return attendee;\n });\n }\n\n override async createAttendee(attendee: Attendee): Promise {\n if (!super.createAttendee) {\n throw new UnavailabilityError('ExpoCalendarEvent', 'createAttendee');\n }\n const newAttendee = await super.createAttendee(attendee);\n Object.setPrototypeOf(newAttendee, ExpoCalendarAttendee.prototype);\n return newAttendee;\n }\n\n override async update(details: Partial): Promise {\n const nullableDetailsFields = getNullableDetailsFields(details);\n return await super.update(stringifyDateValues(details), nullableDetailsFields);\n }\n\n override async delete(): Promise {\n await super.delete();\n }\n\n static override async get(eventId: string): Promise {\n const event = await InternalExpoCalendar.getEventById(eventId);\n Object.setPrototypeOf(event, ExpoCalendarEvent.prototype);\n return event;\n }\n}\n\n/**\n * Represents a calendar reminder object that can be accessed and modified using the Expo Calendar Next API.\n */\nexport class ExpoCalendarReminder extends InternalExpoCalendar.ExpoCalendarReminder {\n override async update(details: Partial): Promise {\n const nullableDetailsFields = getNullableDetailsFields(details);\n await super.update(stringifyDateValues(details), nullableDetailsFields);\n }\n\n static override async get(reminderId: string): Promise {\n const reminder = await InternalExpoCalendar.getReminderById(reminderId);\n Object.setPrototypeOf(reminder, ExpoCalendarReminder.prototype);\n return reminder;\n }\n}\n\n/**\n * Represents a calendar object that can be accessed and modified using the Expo Calendar Next API.\n *\n * This class provides properties and methods for interacting with a specific calendar on the device,\n * such as retrieving its events, updating its details, and accessing its metadata.\n */\nexport class ExpoCalendar extends InternalExpoCalendar.ExpoCalendar {\n override async createEvent(\n details: Partial<\n Omit<\n Event,\n | 'creationDate'\n | 'lastModifiedDate'\n | 'originalStartDate'\n | 'isDetached'\n | 'status'\n | 'organizer'\n >\n >\n ): Promise {\n const newEvent = await super.createEvent(stringifyDateValues(details));\n Object.setPrototypeOf(newEvent, ExpoCalendarEvent.prototype);\n return newEvent;\n }\n\n override async createReminder(details: Partial): Promise {\n const newReminder = await super.createReminder(stringifyDateValues(details));\n Object.setPrototypeOf(newReminder, ExpoCalendarReminder.prototype);\n return newReminder;\n }\n\n override async listEvents(startDate: Date, endDate: Date): Promise {\n if (!startDate) {\n throw new Error('listEvents must be called with a startDate (date) to search for events');\n }\n if (!endDate) {\n throw new Error('listEvents must be called with an endDate (date) to search for events');\n }\n const events = await super.listEvents(stringifyIfDate(startDate), stringifyIfDate(endDate));\n return events.map((event) => {\n Object.setPrototypeOf(event, ExpoCalendarEvent.prototype);\n return event;\n });\n }\n\n override async listReminders(\n startDate: Date | null = null,\n endDate: Date | null = null,\n status: ReminderStatus | null = null\n ): Promise {\n const reminders = await super.listReminders(\n startDate ? stringifyIfDate(startDate) : null,\n endDate ? stringifyIfDate(endDate) : null,\n status\n );\n return reminders.map((reminder) => {\n Object.setPrototypeOf(reminder, ExpoCalendarReminder.prototype);\n return reminder;\n });\n }\n\n override async update(details: Partial): Promise {\n const color = details.color ? processColor(details.color) : undefined;\n const newDetails = { ...details, color: color || undefined };\n return await super.update(newDetails as Partial);\n }\n\n override async addEventWithForm(options?: AddEventWithFormOptions): Promise {\n if (!super.addEventWithForm) {\n throw new UnavailabilityError('ExpoCalendar', 'addEventWithForm');\n }\n return super.addEventWithForm(options && stringifyDateValues(options));\n }\n\n static override async get(calendarId: string): Promise {\n const calendar = await InternalExpoCalendar.getCalendarById(calendarId);\n Object.setPrototypeOf(calendar, ExpoCalendar.prototype);\n return calendar;\n }\n}\n\n/**\n * Gets an instance of the default calendar object.\n * @return An [`ExpoCalendar`](#expocalendar) object that is the user's default calendar.\n */\nexport function getDefaultCalendarSync(): ExpoCalendar {\n if (Platform.OS === 'android' || !InternalExpoCalendar.getDefaultCalendarSync) {\n throw new UnavailabilityError('Calendar', 'getDefaultCalendar');\n }\n const defaultCalendar = InternalExpoCalendar.getDefaultCalendarSync();\n Object.setPrototypeOf(defaultCalendar, ExpoCalendar.prototype);\n return defaultCalendar as ExpoCalendar;\n}\n\n/**\n * Gets an array of [`ExpoCalendar`](#expocalendar) shared objects with details about the different calendars stored on the device.\n * @param entityType __iOS Only.__ Not required, but if defined, filters the returned calendars to\n * a specific [entity type](#entitytypes). Possible values are `Calendar.EntityTypes.EVENT` (for calendars shown in\n * the Calendar app) and `Calendar.EntityTypes.REMINDER` (for the Reminders app).\n * > **Note:** If not defined, you will need both permissions: **CALENDAR** and **REMINDERS**.\n * @return An array of [`ExpoCalendar`](#expocalendar) shared objects matching the provided entity type (if provided).\n */\nexport async function getCalendars(entityType?: EntityTypes): Promise {\n if (!InternalExpoCalendar.getCalendars) {\n throw new UnavailabilityError('Calendar', 'getCalendars');\n }\n const calendars = await InternalExpoCalendar.getCalendars(entityType);\n return calendars.map((calendar) => {\n Object.setPrototypeOf(calendar, ExpoCalendar.prototype);\n return calendar;\n });\n}\n\n/**\n * Creates a new calendar on the device, allowing events to be added later and displayed in the OS Calendar app.\n * @param details A map of details for the calendar to be created.\n * @returns An [`ExpoCalendar`](#expocalendar) object representing the newly created calendar.\n */\nexport async function createCalendar(details: Partial = {}): Promise {\n const color = details.color ? processColor(details.color) : undefined;\n const newDetails = { ...details, id: undefined, color: color || undefined };\n const createdCalendar = await InternalExpoCalendar.createCalendar(newDetails);\n Object.setPrototypeOf(createdCalendar, ExpoCalendar.prototype);\n return createdCalendar;\n}\n\n/**\n * Presents the OS calendar picker and returns the selected calendar.\n * @return An [`ExpoCalendar`](#expocalendar) object or `null` when the picker is cancelled.\n * @platform ios\n */\nexport async function presentPicker(): Promise {\n if (!InternalExpoCalendar.presentPicker) {\n throw new UnavailabilityError('Calendar', 'presentPicker');\n }\n const calendar = await InternalExpoCalendar.presentPicker();\n if (calendar) {\n Object.setPrototypeOf(calendar, ExpoCalendar.prototype);\n }\n return calendar;\n}\n\n/**\n * Lists events from the device's calendar. It can be used to search events in multiple calendars.\n * > **Note:** If you want to search events in a single calendar, you can use [`ExpoCalendar.listEvents`](#listeventsstartdate-enddate) instead.\n * @param calendars An array of calendar IDs (`string[]`) or [`ExpoCalendar`](#expocalendar) objects to search for events.\n * @param startDate The start date of the time range to search for events.\n * @param endDate The end date of the time range to search for events.\n * @returns An array of [`ExpoCalendarEvent`](#expocalendarevent) objects representing the events found.\n */\nexport async function listEvents(\n calendars: (string | ExpoCalendar)[],\n startDate: Date,\n endDate: Date\n): Promise {\n if (!InternalExpoCalendar.listEvents) {\n throw new UnavailabilityError('Calendar', 'listEvents');\n }\n const calendarIds = Array.isArray(calendars)\n ? calendars.map((c) => (typeof c === 'string' ? c : c.id))\n : [];\n return InternalExpoCalendar.listEvents(\n calendarIds,\n stringifyIfDate(startDate),\n stringifyIfDate(endDate)\n );\n}\n\n/**\n * Asks the user to grant permissions for accessing user's calendars.\n * @param writeOnly - On iOS, whether to request write-only access, which allows creating calendar events\n * without reading existing calendars or events. This does not grant permission to create, update, or delete calendars.\n * @return A promise that resolves to an object of type [`PermissionResponse`](#permissionresponse).\n */\nexport const requestCalendarPermissions = InternalExpoCalendar.requestCalendarPermissions;\n\n/**\n * Checks user's permissions for accessing user's calendars.\n * @param writeOnly - On iOS, whether to check write-only access, which allows creating calendar events\n * without reading existing calendars or events. This does not grant permission to create, update, or delete calendars.\n * @return A promise that resolves to an object of type [`PermissionResponse`](#permissionresponse).\n */\nexport const getCalendarPermissions = InternalExpoCalendar.getCalendarPermissions;\n\n/**\n * Asks the user to grant permissions for accessing user's reminders.\n * @return A promise that resolves to an object of type [`PermissionResponse`](#permissionresponse).\n */\nexport const requestRemindersPermissions = InternalExpoCalendar.requestRemindersPermissions;\n\n/**\n * Checks user's permissions for accessing user's reminders.\n * @return A promise that resolves to an object of type [`PermissionResponse`](#permissionresponse).\n */\nexport const getRemindersPermissions = InternalExpoCalendar.getRemindersPermissions;\n\n/**\n * Gets an array of Source objects with details about the different sources stored on the device.\n * @returns An array of Source objects representing the sources found.\n */\nexport const getSourcesSync = InternalExpoCalendar.getSourcesSync;\n\nexport type {\n ModifiableEventProperties,\n ModifiableReminderProperties,\n ModifiableCalendarProperties,\n AddEventWithFormOptions,\n} from './ExpoCalendar.types';\n\nexport type {\n PermissionResponse,\n Alarm,\n AlarmLocation,\n CalendarDialogParams,\n DaysOfTheWeek,\n DialogEventResult,\n OpenEventDialogResult,\n OpenEventPresentationOptions,\n PermissionExpiration,\n PermissionHookOptions,\n PresentationOptions,\n RecurrenceRule,\n RecurringEventOptions,\n Source,\n} from './legacy/Calendar';\nexport {\n AlarmMethod,\n AttendeeRole,\n AttendeeStatus,\n AttendeeType,\n Availability,\n CalendarAccessLevel,\n CalendarDialogResultActions,\n CalendarType,\n DayOfTheWeek,\n EntityTypes,\n EventAccessLevel,\n EventStatus,\n Frequency,\n MonthOfTheYear,\n ReminderStatus,\n SourceType,\n} from './legacy/Calendar';\n\n/**\n * Check or request permissions to access the user's calendars.\n * This uses both `getCalendarPermissions` and `requestCalendarPermissions` to interact\n * with the permissions.\n * On iOS, `writeOnly` requests permission to create calendar events without reading\n * existing calendars or events. It does not grant permission to create, update, or delete calendars.\n *\n * @example\n * ```ts\n * const [status, requestPermission] = Calendar.useCalendarPermissions();\n * ```\n */\nexport const useCalendarPermissions = createPermissionHook<\n PermissionResponse,\n { writeOnly?: boolean }\n>({\n getMethod: (options) => getCalendarPermissions(options?.writeOnly),\n requestMethod: (options) => requestCalendarPermissions(options?.writeOnly),\n});\n\n/**\n * Check or request permissions to access the user's reminders.\n * This uses both `getRemindersPermissions` and `requestRemindersPermissions` to interact\n * with the permissions.\n *\n * @example\n * ```ts\n * const [status, requestPermission] = Calendar.useRemindersPermissions();\n * ```\n */\nexport const useRemindersPermissions = createPermissionHook({\n getMethod: getRemindersPermissions,\n requestMethod: requestRemindersPermissions,\n});\n\nexport * from './legacyWarnings';\n"]} \ No newline at end of file +{"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../src/Calendar.ts"],"names":[],"mappings":"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","sourcesContent":["import { createPermissionHook, PermissionStatus, type PermissionHookOptions } from 'expo';\nimport { UnavailabilityError } from 'expo-modules-core';\nimport { Platform, processColor } from 'react-native';\n\nimport InternalExpoCalendar from './ExpoCalendar';\nimport type {\n ModifiableEventProperties,\n ModifiableReminderProperties,\n ModifiableCalendarProperties,\n ModifiableAttendeeProperties,\n AddEventWithFormOptions,\n} from './ExpoCalendar.types';\nimport type {\n Calendar,\n Attendee,\n DialogEventResult,\n EntityTypes,\n Event,\n RecurringEventOptions,\n Reminder,\n ReminderStatus,\n PermissionResponse,\n Source,\n} from './legacy/Calendar';\nimport { stringifyDateValues, stringifyIfDate, getNullableDetailsFields } from './utils';\n\n/**\n * Represents a calendar attendee object.\n */\nexport class ExpoCalendarAttendee extends InternalExpoCalendar.ExpoCalendarAttendee {\n override async update(details: Partial): Promise {\n if (!super.update) {\n throw new UnavailabilityError('ExpoCalendarAttendee', 'update');\n }\n const nullableDetailsFields = getNullableDetailsFields(details);\n return super.update(stringifyDateValues(details), nullableDetailsFields);\n }\n\n override async delete(): Promise {\n if (!super.delete) {\n throw new UnavailabilityError('ExpoCalendarAttendee', 'delete');\n }\n await super.delete();\n }\n}\n\n/**\n * Represents a calendar event object that can be accessed and modified using the Expo Calendar Next API.\n */\nexport class ExpoCalendarEvent extends InternalExpoCalendar.ExpoCalendarEvent {\n override getOccurrenceSync(recurringEventOptions: RecurringEventOptions = {}): ExpoCalendarEvent {\n const result = super.getOccurrenceSync(stringifyDateValues(recurringEventOptions));\n Object.setPrototypeOf(result, ExpoCalendarEvent.prototype);\n return result;\n }\n\n override async getAttendees(): Promise {\n const attendees = await super.getAttendees();\n return attendees.map((attendee) => {\n Object.setPrototypeOf(attendee, ExpoCalendarAttendee.prototype);\n return attendee;\n });\n }\n\n override async createAttendee(attendee: Attendee): Promise {\n if (!super.createAttendee) {\n throw new UnavailabilityError('ExpoCalendarEvent', 'createAttendee');\n }\n const newAttendee = await super.createAttendee(attendee);\n Object.setPrototypeOf(newAttendee, ExpoCalendarAttendee.prototype);\n return newAttendee;\n }\n\n override async update(details: Partial): Promise {\n const nullableDetailsFields = getNullableDetailsFields(details);\n return await super.update(stringifyDateValues(details), nullableDetailsFields);\n }\n\n override async delete(): Promise {\n await super.delete();\n }\n\n static override async get(eventId: string): Promise {\n const event = await InternalExpoCalendar.getEventById(eventId);\n Object.setPrototypeOf(event, ExpoCalendarEvent.prototype);\n return event;\n }\n}\n\n/**\n * Represents a calendar reminder object that can be accessed and modified using the Expo Calendar Next API.\n * @platform ios\n */\nexport class ExpoCalendarReminder extends InternalExpoCalendar.ExpoCalendarReminder {\n override async update(details: Partial): Promise {\n if (Platform.OS !== 'ios') {\n throw new UnavailabilityError('ExpoCalendarReminder', 'update');\n }\n const nullableDetailsFields = getNullableDetailsFields(details);\n await super.update(stringifyDateValues(details), nullableDetailsFields);\n }\n\n override async delete(): Promise {\n if (Platform.OS !== 'ios') {\n throw new UnavailabilityError('ExpoCalendarReminder', 'delete');\n }\n await super.delete();\n }\n\n static override async get(reminderId: string): Promise {\n if (Platform.OS !== 'ios') {\n throw new UnavailabilityError('ExpoCalendarReminder', 'get');\n }\n const reminder = await InternalExpoCalendar.getReminderById(reminderId);\n Object.setPrototypeOf(reminder, ExpoCalendarReminder.prototype);\n return reminder;\n }\n}\n\n/**\n * Represents a calendar object that can be accessed and modified using the Expo Calendar Next API.\n *\n * This class provides properties and methods for interacting with a specific calendar on the device,\n * such as retrieving its events, updating its details, and accessing its metadata.\n */\nexport class ExpoCalendar extends InternalExpoCalendar.ExpoCalendar {\n override async createEvent(\n details: Partial<\n Omit<\n Event,\n | 'creationDate'\n | 'lastModifiedDate'\n | 'originalStartDate'\n | 'isDetached'\n | 'status'\n | 'organizer'\n >\n >\n ): Promise {\n const newEvent = await super.createEvent(stringifyDateValues(details));\n Object.setPrototypeOf(newEvent, ExpoCalendarEvent.prototype);\n return newEvent;\n }\n\n override async createReminder(details: Partial): Promise {\n if (Platform.OS !== 'ios') {\n throw new UnavailabilityError('ExpoCalendar', 'createReminder');\n }\n const newReminder = await super.createReminder(stringifyDateValues(details));\n Object.setPrototypeOf(newReminder, ExpoCalendarReminder.prototype);\n return newReminder;\n }\n\n override async listEvents(startDate: Date, endDate: Date): Promise {\n if (!startDate) {\n throw new Error('listEvents must be called with a startDate (date) to search for events');\n }\n if (!endDate) {\n throw new Error('listEvents must be called with an endDate (date) to search for events');\n }\n const events = await super.listEvents(stringifyIfDate(startDate), stringifyIfDate(endDate));\n return events.map((event) => {\n Object.setPrototypeOf(event, ExpoCalendarEvent.prototype);\n return event;\n });\n }\n\n override async listReminders(\n startDate: Date | null = null,\n endDate: Date | null = null,\n status: ReminderStatus | null = null\n ): Promise {\n if (Platform.OS !== 'ios') {\n throw new UnavailabilityError('ExpoCalendar', 'listReminders');\n }\n const reminders = await super.listReminders(\n startDate ? stringifyIfDate(startDate) : null,\n endDate ? stringifyIfDate(endDate) : null,\n status\n );\n return reminders.map((reminder) => {\n Object.setPrototypeOf(reminder, ExpoCalendarReminder.prototype);\n return reminder;\n });\n }\n\n override async update(details: Partial): Promise {\n const color = details.color ? processColor(details.color) : undefined;\n const newDetails = { ...details, color: color || undefined };\n return await super.update(newDetails as Partial);\n }\n\n override async addEventWithForm(options?: AddEventWithFormOptions): Promise {\n if (!super.addEventWithForm) {\n throw new UnavailabilityError('ExpoCalendar', 'addEventWithForm');\n }\n return super.addEventWithForm(options && stringifyDateValues(options));\n }\n\n static override async get(calendarId: string): Promise {\n const calendar = await InternalExpoCalendar.getCalendarById(calendarId);\n Object.setPrototypeOf(calendar, ExpoCalendar.prototype);\n return calendar;\n }\n}\n\n/**\n * Gets an instance of the default calendar object.\n * > **Android:** This function is not available on Android. Android does not expose a single\n * > system-managed default calendar. Use `getCalendars()` and choose an appropriate writable\n * > calendar for your app; `isPrimary` can help identify per-account primary calendars.\n * @return An [`ExpoCalendar`](#expocalendar) object that is the user's default calendar.\n * @platform ios\n */\nexport function getDefaultCalendarSync(): ExpoCalendar {\n if (Platform.OS === 'android' || !InternalExpoCalendar.getDefaultCalendarSync) {\n throw new UnavailabilityError('Calendar', 'getDefaultCalendar');\n }\n const defaultCalendar = InternalExpoCalendar.getDefaultCalendarSync();\n Object.setPrototypeOf(defaultCalendar, ExpoCalendar.prototype);\n return defaultCalendar as ExpoCalendar;\n}\n\n/**\n * Gets an array of [`ExpoCalendar`](#expocalendar) shared objects with details about the different calendars stored on the device.\n * @param entityType __iOS Only.__ Not required, but if defined, filters the returned calendars to\n * a specific [entity type](#entitytypes). Possible values are `Calendar.EntityTypes.EVENT` (for calendars shown in\n * the Calendar app) and `Calendar.EntityTypes.REMINDER` (for the Reminders app).\n * > **Note:** If not defined, you will need both permissions: **CALENDAR** and **REMINDERS**.\n * @return An array of [`ExpoCalendar`](#expocalendar) shared objects matching the provided entity type (if provided).\n */\nexport async function getCalendars(entityType?: EntityTypes): Promise {\n if (!InternalExpoCalendar.getCalendars) {\n throw new UnavailabilityError('Calendar', 'getCalendars');\n }\n const calendars = await InternalExpoCalendar.getCalendars(entityType);\n return calendars.map((calendar) => {\n Object.setPrototypeOf(calendar, ExpoCalendar.prototype);\n return calendar;\n });\n}\n\n/**\n * Creates a new calendar on the device, allowing events to be added later and displayed in the OS Calendar app.\n * @param details A map of details for the calendar to be created.\n * @returns An [`ExpoCalendar`](#expocalendar) object representing the newly created calendar.\n */\nexport async function createCalendar(details: Partial = {}): Promise {\n const color = details.color ? processColor(details.color) : undefined;\n const newDetails = { ...details, id: undefined, color: color || undefined };\n const createdCalendar = await InternalExpoCalendar.createCalendar(newDetails);\n Object.setPrototypeOf(createdCalendar, ExpoCalendar.prototype);\n return createdCalendar;\n}\n\n/**\n * Presents the OS calendar picker and returns the selected calendar.\n * @return An [`ExpoCalendar`](#expocalendar) object or `null` when the picker is cancelled.\n * @platform ios\n */\nexport async function presentPicker(): Promise {\n if (!InternalExpoCalendar.presentPicker) {\n throw new UnavailabilityError('Calendar', 'presentPicker');\n }\n const calendar = await InternalExpoCalendar.presentPicker();\n if (calendar) {\n Object.setPrototypeOf(calendar, ExpoCalendar.prototype);\n }\n return calendar;\n}\n\n/**\n * Lists events from the device's calendar. It can be used to search events in multiple calendars.\n * > **Note:** If you want to search events in a single calendar, you can use [`ExpoCalendar.listEvents`](#listeventsstartdate-enddate) instead.\n * @param calendars An array of calendar IDs (`string[]`) or [`ExpoCalendar`](#expocalendar) objects to search for events.\n * @param startDate The start date of the time range to search for events.\n * @param endDate The end date of the time range to search for events.\n * @returns An array of [`ExpoCalendarEvent`](#expocalendarevent) objects representing the events found.\n */\nexport async function listEvents(\n calendars: (string | ExpoCalendar)[],\n startDate: Date,\n endDate: Date\n): Promise {\n if (!InternalExpoCalendar.listEvents) {\n throw new UnavailabilityError('Calendar', 'listEvents');\n }\n const calendarIds = Array.isArray(calendars)\n ? calendars.map((c) => (typeof c === 'string' ? c : c.id))\n : [];\n return InternalExpoCalendar.listEvents(\n calendarIds,\n stringifyIfDate(startDate),\n stringifyIfDate(endDate)\n );\n}\n\n/**\n * Asks the user to grant permissions for accessing user's calendars.\n * @param writeOnly - On iOS, whether to request write-only access, which allows creating calendar events\n * without reading existing calendars or events. This does not grant permission to create, update, or delete calendars.\n * @return A promise that resolves to an object of type [`PermissionResponse`](#permissionresponse).\n */\nexport const requestCalendarPermissions = InternalExpoCalendar.requestCalendarPermissions;\n\n/**\n * Checks user's permissions for accessing user's calendars.\n * @param writeOnly - On iOS, whether to check write-only access, which allows creating calendar events\n * without reading existing calendars or events. This does not grant permission to create, update, or delete calendars.\n * @return A promise that resolves to an object of type [`PermissionResponse`](#permissionresponse).\n */\nexport const getCalendarPermissions = InternalExpoCalendar.getCalendarPermissions;\n\n/**\n * Asks the user to grant permissions for accessing user's reminders.\n * @return A promise that resolves to an object of type [`PermissionResponse`](#permissionresponse).\n * @platform ios\n */\nexport async function requestRemindersPermissions(): Promise {\n if (Platform.OS !== 'ios') {\n throw new UnavailabilityError('Calendar', 'requestRemindersPermissions');\n }\n return InternalExpoCalendar.requestRemindersPermissions!();\n}\n\n/**\n * Checks user's permissions for accessing user's reminders.\n * @return A promise that resolves to an object of type [`PermissionResponse`](#permissionresponse).\n * @platform ios\n */\nexport async function getRemindersPermissions(): Promise {\n if (Platform.OS !== 'ios') {\n throw new UnavailabilityError('Calendar', 'getRemindersPermissions');\n }\n return InternalExpoCalendar.getRemindersPermissions!();\n}\n\n/**\n * Gets an array of Source objects with details about the different sources stored on the device.\n * > **Android:** This function is not available on Android. Android does not expose a\n * > first-class calendar sources API. If you need account-like source information, call\n * > `getCalendars()` and inspect each calendar's `source` field.\n * @returns An array of Source objects representing the sources found.\n * @platform ios\n */\nexport function getSourcesSync(): Source[] {\n if (Platform.OS !== 'ios') {\n throw new UnavailabilityError('Calendar', 'getSourcesSync');\n }\n return InternalExpoCalendar.getSourcesSync();\n}\n\nexport type {\n ModifiableEventProperties,\n ModifiableReminderProperties,\n ModifiableCalendarProperties,\n AddEventWithFormOptions,\n} from './ExpoCalendar.types';\n\nexport type {\n PermissionResponse,\n Alarm,\n AlarmLocation,\n CalendarDialogParams,\n DaysOfTheWeek,\n DialogEventResult,\n OpenEventDialogResult,\n OpenEventPresentationOptions,\n PermissionExpiration,\n PermissionHookOptions,\n PresentationOptions,\n RecurrenceRule,\n RecurringEventOptions,\n Source,\n} from './legacy/Calendar';\nexport {\n AlarmMethod,\n AttendeeRole,\n AttendeeStatus,\n AttendeeType,\n Availability,\n CalendarAccessLevel,\n CalendarDialogResultActions,\n CalendarType,\n DayOfTheWeek,\n EntityTypes,\n EventAccessLevel,\n EventStatus,\n Frequency,\n MonthOfTheYear,\n ReminderStatus,\n SourceType,\n} from './legacy/Calendar';\n\n/**\n * Check or request permissions to access the user's calendars.\n * This uses both `getCalendarPermissions` and `requestCalendarPermissions` to interact\n * with the permissions.\n * On iOS, `writeOnly` requests permission to create calendar events without reading\n * existing calendars or events. It does not grant permission to create, update, or delete calendars.\n *\n * @example\n * ```ts\n * const [status, requestPermission] = Calendar.useCalendarPermissions();\n * ```\n */\nexport const useCalendarPermissions = createPermissionHook<\n PermissionResponse,\n { writeOnly?: boolean }\n>({\n getMethod: (options) => getCalendarPermissions(options?.writeOnly),\n requestMethod: (options) => requestCalendarPermissions(options?.writeOnly),\n});\n\n/**\n * Check or request permissions to access the user's reminders.\n * This uses both `getRemindersPermissions` and `requestRemindersPermissions` to interact\n * with the permissions.\n *\n * @example\n * ```ts\n * const [status, requestPermission] = Calendar.useRemindersPermissions();\n * ```\n * @platform ios\n */\nexport function useRemindersPermissions(\n options?: PermissionHookOptions\n): ReturnType {\n if (Platform.OS !== 'ios') {\n // While for getRemindersPermissions and other iOS-specific functions we throw UnavailabilityError,\n // returning a denied permission response is a deliberate choice to make it work without need to wrap it in try/catch.\n const response: PermissionResponse = {\n canAskAgain: false,\n expires: 'never',\n granted: false,\n status: PermissionStatus.DENIED,\n };\n return [response, async () => response, async () => response];\n }\n return createRemindersPermissionHook(options);\n}\n\nconst createRemindersPermissionHook = createPermissionHook({\n getMethod: getRemindersPermissions,\n requestMethod: requestRemindersPermissions,\n});\n\nexport * from './legacyWarnings';\n"]} \ No newline at end of file diff --git a/packages/expo-calendar/build/ExpoCalendar.types.d.ts b/packages/expo-calendar/build/ExpoCalendar.types.d.ts index 63ed6a7219f2bb..75cb47ba029a5f 100644 --- a/packages/expo-calendar/build/ExpoCalendar.types.d.ts +++ b/packages/expo-calendar/build/ExpoCalendar.types.d.ts @@ -9,7 +9,13 @@ export type AddEventWithFormOptions = PresentationOptions & { allDay?: boolean; notes?: string; location?: string; + /** + * @platform ios + */ url?: string; + /** + * @platform ios + */ alarms?: Alarm[]; recurrenceRule?: RecurrenceRule; }; @@ -117,6 +123,7 @@ export declare class ExpoCalendar { * @param endDate End of time period to search for reminders in, or `null` for all completed reminders after `startDate`. * @param status One of `Calendar.ReminderStatus.COMPLETED` or `Calendar.ReminderStatus.INCOMPLETE`. If not defined, both completed and incomplete reminders will be returned. * @return An array of [`ExpoCalendarReminder`](#expocalendarreminder) objects matching the search criteria. + * @platform ios */ listReminders(startDate?: Date | string | null, endDate?: Date | string | null, status?: ReminderStatus | null): Promise; /** @@ -129,6 +136,7 @@ export declare class ExpoCalendar { * Creates a new reminder in the calendar. * @param reminderData A map of details for the reminder to be created. * @return An instance of the created reminder. + * @platform ios */ createReminder(reminderData: Omit, 'id' | 'calendarId'>): Promise; /** @@ -299,7 +307,6 @@ export declare class ExpoCalendarEvent { * Returns an event instance for a given event (or instance of a recurring event). * @param recurringEventOptions A map of options for recurring events. * @return An event instance. - * @platform ios */ getOccurrenceSync(recurringEventOptions?: RecurringEventOptions): ExpoCalendarEvent; /** @@ -395,15 +402,20 @@ export declare class ExpoCalendarReminder { * Setting this property of a nonnull `Date` will automatically set the reminder's `completed` value to `true`. */ completionDate?: string | Date; + /** + * @platform ios + */ update(details: Partial, nullableFields?: (keyof ModifiableReminderProperties)[]): Promise; /** * Deletes the reminder. + * @platform ios */ delete(): Promise; /** * Gets a reminder by its ID. Throws an error if the reminder with the given ID does not exist. * @param reminderId The ID of the reminder to get. * @returns An [`ExpoCalendarReminder`](#expocalendarreminder) object representing the reminder. + * @platform ios */ static get(reminderId: string): Promise; } diff --git a/packages/expo-calendar/build/ExpoCalendar.types.d.ts.map b/packages/expo-calendar/build/ExpoCalendar.types.d.ts.map index c91170be36781e..1a8fde2a68c2a1 100644 --- a/packages/expo-calendar/build/ExpoCalendar.types.d.ts.map +++ b/packages/expo-calendar/build/ExpoCalendar.types.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ExpoCalendar.types.d.ts","sourceRoot":"","sources":["../src/ExpoCalendar.types.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ExpoCalendar.types.d.ts","sourceRoot":"","sources":["../src/ExpoCalendar.types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-calendar/build/ExpoCalendar.types.js.map b/packages/expo-calendar/build/ExpoCalendar.types.js.map index 400f28b7d0e835..3bfae5a13595b7 100644 --- a/packages/expo-calendar/build/ExpoCalendar.types.js.map +++ b/packages/expo-calendar/build/ExpoCalendar.types.js.map @@ -1 +1 @@ -{"version":3,"file":"ExpoCalendar.types.js","sourceRoot":"","sources":["../src/ExpoCalendar.types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n AttendeeRole,\n AttendeeStatus,\n AttendeeType,\n Source,\n RecurringEventOptions,\n CalendarType,\n Availability,\n EntityTypes,\n Alarm,\n EventStatus,\n Organizer,\n ReminderStatus,\n CalendarDialogParams,\n DialogEventResult,\n OpenEventPresentationOptions,\n PresentationOptions,\n EventAccessLevel,\n CalendarAccessLevel,\n AlarmMethod,\n OpenEventDialogResult,\n Attendee,\n} from './legacy/Calendar';\nimport type { RecurrenceRule } from './types/RecurrenceRule';\n\nexport type CalendarDialogParamsNext = Omit & PresentationOptions;\n\nexport type CalendarDialogOpenParamsNext = CalendarDialogParamsNext & OpenEventPresentationOptions;\n\nexport type AddEventWithFormOptions = PresentationOptions & {\n title?: string;\n startDate?: Date | string;\n endDate?: Date | string;\n allDay?: boolean;\n notes?: string;\n location?: string;\n url?: string;\n alarms?: Alarm[];\n recurrenceRule?: RecurrenceRule;\n};\n\nexport type ModifiableCalendarProperties = Pick;\n\nexport type ModifiableEventProperties = Pick<\n ExpoCalendarEvent,\n | 'title'\n | 'location'\n | 'timeZone'\n | 'url'\n | 'notes'\n | 'alarms'\n | 'recurrenceRule'\n | 'availability'\n | 'startDate'\n | 'endDate'\n | 'allDay'\n>;\n\nexport type ModifiableReminderProperties = Pick<\n ExpoCalendarReminder,\n | 'title'\n | 'location'\n | 'timeZone'\n | 'url'\n | 'notes'\n | 'alarms'\n | 'recurrenceRule'\n | 'startDate'\n | 'dueDate'\n | 'completed'\n | 'completionDate'\n>;\n\nexport type ModifiableAttendeeProperties = ExpoCalendarAttendee;\n\nexport declare class ExpoCalendar {\n constructor(id: string);\n\n /**\n * Internal ID that represents this calendar on the device.\n */\n id: string;\n /**\n * Visible name of the calendar.\n */\n title: string;\n /**\n * ID of the source to be used for the calendar. Likely the same as the source for any other\n * locally stored calendars.\n * @platform ios\n */\n sourceId?: string;\n /**\n * Object representing the source to be used for the calendar.\n */\n source: Source;\n /**\n * Type of calendar this object represents.\n * @platform ios\n */\n type?: CalendarType;\n /**\n * Color used to display this calendar's events.\n */\n color?: string;\n /**\n * Whether the calendar is used in the Calendar or Reminders OS app.\n * @platform ios\n */\n entityType?: EntityTypes;\n /**\n * Boolean value that determines whether this calendar can be modified.\n */\n allowsModifications: boolean;\n /**\n * Availability types that this calendar supports.\n */\n allowedAvailabilities: Availability[];\n /**\n * Boolean value indicating whether this is the device's primary calendar.\n * @platform android\n */\n isPrimary?: boolean;\n /**\n * Internal system name of the calendar.\n * @platform android\n */\n name?: string | null;\n /**\n * Name for the account that owns this calendar.\n * @platform android\n */\n ownerAccount?: string;\n /**\n * Time zone for the calendar.\n * @platform android\n */\n timeZone?: string;\n /**\n * Alarm methods that this calendar supports.\n * @platform android\n */\n allowedReminders?: AlarmMethod[];\n /**\n * Attendee types that this calendar supports.\n * @platform android\n */\n allowedAttendeeTypes?: AttendeeType[];\n /**\n * Indicates whether the OS displays events on this calendar.\n * @platform android\n */\n isVisible?: boolean;\n /**\n * Indicates whether this calendar is synced and its events stored on the device.\n * Unexpected behavior may occur if this is not set to `true`.\n * @platform android\n */\n isSynced?: boolean;\n /**\n * Level of access that the user has for the calendar.\n * @platform android\n */\n accessLevel?: CalendarAccessLevel;\n\n /**\n * Returns a calendar event list for the given date range.\n */\n listEvents(startDate: Date | string, endDate: Date | string): Promise;\n\n /**\n * Returns a list of reminders matching the provided criteria. If `startDate` and `endDate` are defined,\n * returns all reminders that overlap at all with the `[startDate, endDate]` interval, that is, all reminders\n * that end after the `startDate` or begin before the `endDate`.\n * @param startDate Beginning of time period to search for reminders in, or `null` for all completed reminders before `endDate`.\n * @param endDate End of time period to search for reminders in, or `null` for all completed reminders after `startDate`.\n * @param status One of `Calendar.ReminderStatus.COMPLETED` or `Calendar.ReminderStatus.INCOMPLETE`. If not defined, both completed and incomplete reminders will be returned.\n * @return An array of [`ExpoCalendarReminder`](#expocalendarreminder) objects matching the search criteria.\n */\n listReminders(\n startDate?: Date | string | null,\n endDate?: Date | string | null,\n status?: ReminderStatus | null\n ): Promise;\n\n /**\n * Creates a new event in the calendar.\n * @param eventData A map of details for the event to be created.\n * @return An instance of the created event.\n */\n createEvent(\n eventData: Omit, 'id' | 'organizer'>\n ): Promise;\n\n /**\n * Creates a new reminder in the calendar.\n * @param reminderData A map of details for the reminder to be created.\n * @return An instance of the created reminder.\n */\n createReminder(\n reminderData: Omit, 'id' | 'calendarId'>\n ): Promise;\n\n /**\n * Presents the system-provided dialog to create a new event in this calendar, pre-filled with the provided data.\n * Requires at minimum write-only calendar permission.\n */\n addEventWithForm(options?: AddEventWithFormOptions): Promise;\n\n /**\n * Updates the provided details of an existing calendar stored on the device. To remove a property,\n * explicitly set it to `null` in `details`.\n * @param details A map of properties to be updated.\n */\n update(details: Partial): Promise;\n\n /**\n * Deletes the calendar.\n */\n delete(): Promise;\n\n /**\n * Gets a calendar by its ID. Throws an error if the calendar with the given ID does not exist.\n * @param calendarId The ID of the calendar to get.\n * @returns An [`ExpoCalendar`](#expocalendar) object representing the calendar.\n */\n static get(calendarId: string): Promise;\n}\n\nexport declare class ExpoCalendarEvent {\n constructor(id: string);\n /**\n * Internal ID that represents this event on the device.\n */\n id: string;\n /**\n * ID of the calendar that contains this event.\n */\n calendarId: string;\n /**\n * Visible name of the event.\n */\n title: string;\n /**\n * Location field of the event.\n */\n location: string | null;\n /**\n * Date when the event record was created.\n * @platform ios\n */\n creationDate?: string | Date;\n /**\n * Date when the event record was last modified.\n * @platform ios\n */\n lastModifiedDate?: string | Date;\n /**\n * Time zone the event is scheduled in.\n * When set to `null`, the event is scheduled to the device's time zone.\n */\n timeZone: string;\n /**\n * Time zone for the end date of the event.\n * @platform android\n */\n endTimeZone?: string;\n /**\n * URL for the event.\n * @platform ios\n */\n url?: string;\n /**\n * Description or notes saved with the event.\n */\n notes: string;\n /**\n * Array of Alarm objects which control automated reminders to the user.\n */\n alarms: Alarm[];\n /**\n * Object representing rules for recurring or repeating events. Set to `null` for one-time events.\n * It is either `endDate` or `occurrence` based.\n */\n recurrenceRule: RecurrenceRule | null;\n /**\n * Date object or string representing the time when the event starts.\n */\n startDate: string | Date;\n /**\n * Date object or string representing the time when the event ends.\n */\n endDate: string | Date;\n /**\n * For recurring events, the start date for the first (original) instance of the event.\n * @platform ios\n */\n originalStartDate?: string | Date;\n /**\n * Boolean value indicating whether or not the event is a detached (modified) instance of a recurring event.\n * @platform ios\n */\n isDetached?: boolean;\n /**\n * Whether the event is displayed as an all-day event on the calendar\n */\n allDay: boolean;\n /**\n * The availability setting for the event.\n */\n availability: Availability;\n /**\n * Status of the event.\n */\n status: EventStatus;\n /**\n * Organizer of the event.\n * This property is only available on events associated with calendars that are managed by a service such as Google Calendar or iCloud.\n * The organizer is read-only and cannot be set.\n *\n * @platform ios\n */\n organizer?: Organizer;\n /**\n * Email address of the organizer of the event.\n * @platform android\n */\n organizerEmail?: string;\n /**\n * User's access level for the event.\n * @platform android\n */\n accessLevel?: EventAccessLevel;\n /**\n * Whether invited guests can modify the details of the event.\n * @platform android\n */\n guestsCanModify?: boolean;\n /**\n * Whether invited guests can invite other guests.\n * @platform android\n */\n guestsCanInviteOthers?: boolean;\n /**\n * Whether invited guests can see other guests.\n * @platform android\n */\n guestsCanSeeGuests?: boolean;\n /**\n * For detached (modified) instances of recurring events, the ID of the original recurring event.\n * @platform android\n */\n originalId?: string;\n /**\n * For instances of recurring events, volatile ID representing this instance. Not guaranteed to\n * always refer to the same instance.\n * @platform android\n */\n instanceId?: string;\n\n /**\n * Launches the calendar UI provided by the OS to preview an event.\n * @return A promise which resolves with information about the dialog result.\n * @header systemProvidedUI\n */\n openInCalendar(\n params?: CalendarDialogOpenParamsNext | null // TODO: Support skipping this param instead of passing null, change needed in the core\n ): Promise;\n\n /**\n * Launches the calendar UI provided by the OS to edit or delete an event.\n * @return A promise which resolves with information about the dialog result.\n * @header systemProvidedUI\n */\n editInCalendar(\n params?: CalendarDialogParamsNext | null // TODO: Support skipping this param instead of passing null, change needed in the core\n ): Promise;\n\n /**\n * Returns an event instance for a given event (or instance of a recurring event).\n * @param recurringEventOptions A map of options for recurring events.\n * @return An event instance.\n * @platform ios\n */\n getOccurrenceSync(recurringEventOptions?: RecurringEventOptions): ExpoCalendarEvent;\n\n /**\n * Gets all attendees for a given event (or instance of a recurring event).\n * @return An array of [`Attendee`](#attendee) associated with the specified event.\n */\n getAttendees(): Promise;\n\n /**\n * Updates the provided details of an existing calendar stored on the device. To remove a property,\n * explicitly set it to `null` in `details`.\n * @param details A map of properties to be updated.\n * @param nullableFields A list of fields that can be set to `null`.\n */\n update(\n details: Partial,\n nullableFields?: (keyof ModifiableEventProperties)[]\n ): Promise;\n\n /**\n * Deletes the event.\n */\n delete(): Promise;\n\n /**\n * Creates a new attendee and adds it to this event.\n */\n createAttendee(\n attendee: Pick, 'email'> & Partial\n ): Promise;\n\n /**\n * Gets an event by its ID. Throws an error if the event with the given ID does not exist.\n * @param eventId The ID of the event to get.\n * @returns An [`ExpoCalendarEvent`](#expocalendarevent) object representing the event.\n */\n static get(eventId: string): Promise;\n}\n\nexport declare class ExpoCalendarReminder {\n /**\n * Internal ID that represents this reminder on the device.\n */\n id?: string;\n /**\n * ID of the calendar that contains this reminder.\n */\n calendarId?: string;\n /**\n * Visible name of the reminder.\n */\n title?: string;\n /**\n * Location field of the reminder\n */\n location?: string;\n /**\n * Date when the reminder record was created.\n */\n creationDate?: string | Date;\n /**\n * Date when the reminder record was last modified.\n */\n lastModifiedDate?: string | Date;\n /**\n * Time zone the reminder is scheduled in.\n */\n timeZone?: string;\n /**\n * URL for the reminder.\n */\n url?: string;\n /**\n * Description or notes saved with the reminder.\n */\n notes?: string;\n /**\n * Array of Alarm objects which control automated alarms to the user about the task.\n */\n alarms?: Alarm[];\n /**\n * Object representing rules for recurring or repeated reminders. `null` for one-time tasks.\n */\n recurrenceRule?: RecurrenceRule | null;\n /**\n * Date object or string representing the start date of the reminder task.\n */\n startDate?: string | Date;\n /**\n * Date object or string representing the time when the reminder task is due.\n */\n dueDate?: string | Date;\n /**\n * Whether the reminder is an all-day reminder.\n */\n allDay?: boolean;\n /**\n * Indicates whether or not the task has been completed.\n */\n completed?: boolean;\n /**\n * Date object or string representing the date of completion, if `completed` is `true`.\n * Setting this property of a nonnull `Date` will automatically set the reminder's `completed` value to `true`.\n */\n completionDate?: string | Date;\n\n update(\n details: Partial,\n nullableFields?: (keyof ModifiableReminderProperties)[]\n ): Promise;\n\n /**\n * Deletes the reminder.\n */\n delete(): Promise;\n\n /**\n * Gets a reminder by its ID. Throws an error if the reminder with the given ID does not exist.\n * @param reminderId The ID of the reminder to get.\n * @returns An [`ExpoCalendarReminder`](#expocalendarreminder) object representing the reminder.\n */\n static get(reminderId: string): Promise;\n}\n\n/**\n * Represents a calendar attendee object.\n * @platform android\n */\nexport declare class ExpoCalendarAttendee {\n /**\n * Internal ID that represents this attendee on the device.\n * @platform android\n */\n id?: string;\n /**\n * Indicates whether or not this attendee is the current OS user.\n * @platform ios\n */\n isCurrentUser?: boolean;\n /**\n * Displayed name of the attendee.\n */\n name: string;\n /**\n * Role of the attendee at the event.\n */\n role: AttendeeRole;\n /**\n * Status of the attendee in relation to the event.\n */\n status: AttendeeStatus;\n /**\n * Type of the attendee.\n */\n type: AttendeeType;\n /**\n * URL for the attendee.\n * @platform ios\n */\n url?: string;\n /**\n * Email of the attendee.\n * @platform android\n */\n email: string;\n\n /**\n * Updates the attendee.\n * @platform android\n */\n update(\n details: Partial,\n nullableFields?: (keyof ModifiableAttendeeProperties)[]\n ): Promise;\n\n /**\n * Deletes the attendee.\n * @platform android\n */\n delete(): Promise;\n}\n"]} \ No newline at end of file +{"version":3,"file":"ExpoCalendar.types.js","sourceRoot":"","sources":["../src/ExpoCalendar.types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n AttendeeRole,\n AttendeeStatus,\n AttendeeType,\n Source,\n RecurringEventOptions,\n CalendarType,\n Availability,\n EntityTypes,\n Alarm,\n EventStatus,\n Organizer,\n ReminderStatus,\n CalendarDialogParams,\n DialogEventResult,\n OpenEventPresentationOptions,\n PresentationOptions,\n EventAccessLevel,\n CalendarAccessLevel,\n AlarmMethod,\n OpenEventDialogResult,\n Attendee,\n} from './legacy/Calendar';\nimport type { RecurrenceRule } from './types/RecurrenceRule';\n\nexport type CalendarDialogParamsNext = Omit & PresentationOptions;\n\nexport type CalendarDialogOpenParamsNext = CalendarDialogParamsNext & OpenEventPresentationOptions;\n\nexport type AddEventWithFormOptions = PresentationOptions & {\n title?: string;\n startDate?: Date | string;\n endDate?: Date | string;\n allDay?: boolean;\n notes?: string;\n location?: string;\n /**\n * @platform ios\n */\n url?: string;\n /**\n * @platform ios\n */\n alarms?: Alarm[];\n recurrenceRule?: RecurrenceRule;\n};\n\nexport type ModifiableCalendarProperties = Pick;\n\nexport type ModifiableEventProperties = Pick<\n ExpoCalendarEvent,\n | 'title'\n | 'location'\n | 'timeZone'\n | 'url'\n | 'notes'\n | 'alarms'\n | 'recurrenceRule'\n | 'availability'\n | 'startDate'\n | 'endDate'\n | 'allDay'\n>;\n\nexport type ModifiableReminderProperties = Pick<\n ExpoCalendarReminder,\n | 'title'\n | 'location'\n | 'timeZone'\n | 'url'\n | 'notes'\n | 'alarms'\n | 'recurrenceRule'\n | 'startDate'\n | 'dueDate'\n | 'completed'\n | 'completionDate'\n>;\n\nexport type ModifiableAttendeeProperties = ExpoCalendarAttendee;\n\nexport declare class ExpoCalendar {\n constructor(id: string);\n\n /**\n * Internal ID that represents this calendar on the device.\n */\n id: string;\n /**\n * Visible name of the calendar.\n */\n title: string;\n /**\n * ID of the source to be used for the calendar. Likely the same as the source for any other\n * locally stored calendars.\n * @platform ios\n */\n sourceId?: string;\n /**\n * Object representing the source to be used for the calendar.\n */\n source: Source;\n /**\n * Type of calendar this object represents.\n * @platform ios\n */\n type?: CalendarType;\n /**\n * Color used to display this calendar's events.\n */\n color?: string;\n /**\n * Whether the calendar is used in the Calendar or Reminders OS app.\n * @platform ios\n */\n entityType?: EntityTypes;\n /**\n * Boolean value that determines whether this calendar can be modified.\n */\n allowsModifications: boolean;\n /**\n * Availability types that this calendar supports.\n */\n allowedAvailabilities: Availability[];\n /**\n * Boolean value indicating whether this is the device's primary calendar.\n * @platform android\n */\n isPrimary?: boolean;\n /**\n * Internal system name of the calendar.\n * @platform android\n */\n name?: string | null;\n /**\n * Name for the account that owns this calendar.\n * @platform android\n */\n ownerAccount?: string;\n /**\n * Time zone for the calendar.\n * @platform android\n */\n timeZone?: string;\n /**\n * Alarm methods that this calendar supports.\n * @platform android\n */\n allowedReminders?: AlarmMethod[];\n /**\n * Attendee types that this calendar supports.\n * @platform android\n */\n allowedAttendeeTypes?: AttendeeType[];\n /**\n * Indicates whether the OS displays events on this calendar.\n * @platform android\n */\n isVisible?: boolean;\n /**\n * Indicates whether this calendar is synced and its events stored on the device.\n * Unexpected behavior may occur if this is not set to `true`.\n * @platform android\n */\n isSynced?: boolean;\n /**\n * Level of access that the user has for the calendar.\n * @platform android\n */\n accessLevel?: CalendarAccessLevel;\n\n /**\n * Returns a calendar event list for the given date range.\n */\n listEvents(startDate: Date | string, endDate: Date | string): Promise;\n\n /**\n * Returns a list of reminders matching the provided criteria. If `startDate` and `endDate` are defined,\n * returns all reminders that overlap at all with the `[startDate, endDate]` interval, that is, all reminders\n * that end after the `startDate` or begin before the `endDate`.\n * @param startDate Beginning of time period to search for reminders in, or `null` for all completed reminders before `endDate`.\n * @param endDate End of time period to search for reminders in, or `null` for all completed reminders after `startDate`.\n * @param status One of `Calendar.ReminderStatus.COMPLETED` or `Calendar.ReminderStatus.INCOMPLETE`. If not defined, both completed and incomplete reminders will be returned.\n * @return An array of [`ExpoCalendarReminder`](#expocalendarreminder) objects matching the search criteria.\n * @platform ios\n */\n listReminders(\n startDate?: Date | string | null,\n endDate?: Date | string | null,\n status?: ReminderStatus | null\n ): Promise;\n\n /**\n * Creates a new event in the calendar.\n * @param eventData A map of details for the event to be created.\n * @return An instance of the created event.\n */\n createEvent(\n eventData: Omit, 'id' | 'organizer'>\n ): Promise;\n\n /**\n * Creates a new reminder in the calendar.\n * @param reminderData A map of details for the reminder to be created.\n * @return An instance of the created reminder.\n * @platform ios\n */\n createReminder(\n reminderData: Omit, 'id' | 'calendarId'>\n ): Promise;\n\n /**\n * Presents the system-provided dialog to create a new event in this calendar, pre-filled with the provided data.\n * Requires at minimum write-only calendar permission.\n */\n addEventWithForm(options?: AddEventWithFormOptions): Promise;\n\n /**\n * Updates the provided details of an existing calendar stored on the device. To remove a property,\n * explicitly set it to `null` in `details`.\n * @param details A map of properties to be updated.\n */\n update(details: Partial): Promise;\n\n /**\n * Deletes the calendar.\n */\n delete(): Promise;\n\n /**\n * Gets a calendar by its ID. Throws an error if the calendar with the given ID does not exist.\n * @param calendarId The ID of the calendar to get.\n * @returns An [`ExpoCalendar`](#expocalendar) object representing the calendar.\n */\n static get(calendarId: string): Promise;\n}\n\nexport declare class ExpoCalendarEvent {\n constructor(id: string);\n /**\n * Internal ID that represents this event on the device.\n */\n id: string;\n /**\n * ID of the calendar that contains this event.\n */\n calendarId: string;\n /**\n * Visible name of the event.\n */\n title: string;\n /**\n * Location field of the event.\n */\n location: string | null;\n /**\n * Date when the event record was created.\n * @platform ios\n */\n creationDate?: string | Date;\n /**\n * Date when the event record was last modified.\n * @platform ios\n */\n lastModifiedDate?: string | Date;\n /**\n * Time zone the event is scheduled in.\n * When set to `null`, the event is scheduled to the device's time zone.\n */\n timeZone: string;\n /**\n * Time zone for the end date of the event.\n * @platform android\n */\n endTimeZone?: string;\n /**\n * URL for the event.\n * @platform ios\n */\n url?: string;\n /**\n * Description or notes saved with the event.\n */\n notes: string;\n /**\n * Array of Alarm objects which control automated reminders to the user.\n */\n alarms: Alarm[];\n /**\n * Object representing rules for recurring or repeating events. Set to `null` for one-time events.\n * It is either `endDate` or `occurrence` based.\n */\n recurrenceRule: RecurrenceRule | null;\n /**\n * Date object or string representing the time when the event starts.\n */\n startDate: string | Date;\n /**\n * Date object or string representing the time when the event ends.\n */\n endDate: string | Date;\n /**\n * For recurring events, the start date for the first (original) instance of the event.\n * @platform ios\n */\n originalStartDate?: string | Date;\n /**\n * Boolean value indicating whether or not the event is a detached (modified) instance of a recurring event.\n * @platform ios\n */\n isDetached?: boolean;\n /**\n * Whether the event is displayed as an all-day event on the calendar\n */\n allDay: boolean;\n /**\n * The availability setting for the event.\n */\n availability: Availability;\n /**\n * Status of the event.\n */\n status: EventStatus;\n /**\n * Organizer of the event.\n * This property is only available on events associated with calendars that are managed by a service such as Google Calendar or iCloud.\n * The organizer is read-only and cannot be set.\n *\n * @platform ios\n */\n organizer?: Organizer;\n /**\n * Email address of the organizer of the event.\n * @platform android\n */\n organizerEmail?: string;\n /**\n * User's access level for the event.\n * @platform android\n */\n accessLevel?: EventAccessLevel;\n /**\n * Whether invited guests can modify the details of the event.\n * @platform android\n */\n guestsCanModify?: boolean;\n /**\n * Whether invited guests can invite other guests.\n * @platform android\n */\n guestsCanInviteOthers?: boolean;\n /**\n * Whether invited guests can see other guests.\n * @platform android\n */\n guestsCanSeeGuests?: boolean;\n /**\n * For detached (modified) instances of recurring events, the ID of the original recurring event.\n * @platform android\n */\n originalId?: string;\n /**\n * For instances of recurring events, volatile ID representing this instance. Not guaranteed to\n * always refer to the same instance.\n * @platform android\n */\n instanceId?: string;\n\n /**\n * Launches the calendar UI provided by the OS to preview an event.\n * @return A promise which resolves with information about the dialog result.\n * @header systemProvidedUI\n */\n openInCalendar(\n params?: CalendarDialogOpenParamsNext | null // TODO: Support skipping this param instead of passing null, change needed in the core\n ): Promise;\n\n /**\n * Launches the calendar UI provided by the OS to edit or delete an event.\n * @return A promise which resolves with information about the dialog result.\n * @header systemProvidedUI\n */\n editInCalendar(\n params?: CalendarDialogParamsNext | null // TODO: Support skipping this param instead of passing null, change needed in the core\n ): Promise;\n\n /**\n * Returns an event instance for a given event (or instance of a recurring event).\n * @param recurringEventOptions A map of options for recurring events.\n * @return An event instance.\n */\n getOccurrenceSync(recurringEventOptions?: RecurringEventOptions): ExpoCalendarEvent;\n\n /**\n * Gets all attendees for a given event (or instance of a recurring event).\n * @return An array of [`Attendee`](#attendee) associated with the specified event.\n */\n getAttendees(): Promise;\n\n /**\n * Updates the provided details of an existing calendar stored on the device. To remove a property,\n * explicitly set it to `null` in `details`.\n * @param details A map of properties to be updated.\n * @param nullableFields A list of fields that can be set to `null`.\n */\n update(\n details: Partial,\n nullableFields?: (keyof ModifiableEventProperties)[]\n ): Promise;\n\n /**\n * Deletes the event.\n */\n delete(): Promise;\n\n /**\n * Creates a new attendee and adds it to this event.\n */\n createAttendee(\n attendee: Pick, 'email'> & Partial\n ): Promise;\n\n /**\n * Gets an event by its ID. Throws an error if the event with the given ID does not exist.\n * @param eventId The ID of the event to get.\n * @returns An [`ExpoCalendarEvent`](#expocalendarevent) object representing the event.\n */\n static get(eventId: string): Promise;\n}\n\nexport declare class ExpoCalendarReminder {\n /**\n * Internal ID that represents this reminder on the device.\n */\n id?: string;\n /**\n * ID of the calendar that contains this reminder.\n */\n calendarId?: string;\n /**\n * Visible name of the reminder.\n */\n title?: string;\n /**\n * Location field of the reminder\n */\n location?: string;\n /**\n * Date when the reminder record was created.\n */\n creationDate?: string | Date;\n /**\n * Date when the reminder record was last modified.\n */\n lastModifiedDate?: string | Date;\n /**\n * Time zone the reminder is scheduled in.\n */\n timeZone?: string;\n /**\n * URL for the reminder.\n */\n url?: string;\n /**\n * Description or notes saved with the reminder.\n */\n notes?: string;\n /**\n * Array of Alarm objects which control automated alarms to the user about the task.\n */\n alarms?: Alarm[];\n /**\n * Object representing rules for recurring or repeated reminders. `null` for one-time tasks.\n */\n recurrenceRule?: RecurrenceRule | null;\n /**\n * Date object or string representing the start date of the reminder task.\n */\n startDate?: string | Date;\n /**\n * Date object or string representing the time when the reminder task is due.\n */\n dueDate?: string | Date;\n /**\n * Whether the reminder is an all-day reminder.\n */\n allDay?: boolean;\n /**\n * Indicates whether or not the task has been completed.\n */\n completed?: boolean;\n /**\n * Date object or string representing the date of completion, if `completed` is `true`.\n * Setting this property of a nonnull `Date` will automatically set the reminder's `completed` value to `true`.\n */\n completionDate?: string | Date;\n\n /**\n * @platform ios\n */\n update(\n details: Partial,\n nullableFields?: (keyof ModifiableReminderProperties)[]\n ): Promise;\n\n /**\n * Deletes the reminder.\n * @platform ios\n */\n delete(): Promise;\n\n /**\n * Gets a reminder by its ID. Throws an error if the reminder with the given ID does not exist.\n * @param reminderId The ID of the reminder to get.\n * @returns An [`ExpoCalendarReminder`](#expocalendarreminder) object representing the reminder.\n * @platform ios\n */\n static get(reminderId: string): Promise;\n}\n\n/**\n * Represents a calendar attendee object.\n * @platform android\n */\nexport declare class ExpoCalendarAttendee {\n /**\n * Internal ID that represents this attendee on the device.\n * @platform android\n */\n id?: string;\n /**\n * Indicates whether or not this attendee is the current OS user.\n * @platform ios\n */\n isCurrentUser?: boolean;\n /**\n * Displayed name of the attendee.\n */\n name: string;\n /**\n * Role of the attendee at the event.\n */\n role: AttendeeRole;\n /**\n * Status of the attendee in relation to the event.\n */\n status: AttendeeStatus;\n /**\n * Type of the attendee.\n */\n type: AttendeeType;\n /**\n * URL for the attendee.\n * @platform ios\n */\n url?: string;\n /**\n * Email of the attendee.\n * @platform android\n */\n email: string;\n\n /**\n * Updates the attendee.\n * @platform android\n */\n update(\n details: Partial,\n nullableFields?: (keyof ModifiableAttendeeProperties)[]\n ): Promise;\n\n /**\n * Deletes the attendee.\n * @platform android\n */\n delete(): Promise;\n}\n"]} \ No newline at end of file diff --git a/packages/expo-calendar/src/Calendar.ts b/packages/expo-calendar/src/Calendar.ts index 758dce9f1a7a10..add5c746173d88 100644 --- a/packages/expo-calendar/src/Calendar.ts +++ b/packages/expo-calendar/src/Calendar.ts @@ -1,4 +1,4 @@ -import { createPermissionHook } from 'expo'; +import { createPermissionHook, PermissionStatus, type PermissionHookOptions } from 'expo'; import { UnavailabilityError } from 'expo-modules-core'; import { Platform, processColor } from 'react-native'; @@ -20,6 +20,7 @@ import type { Reminder, ReminderStatus, PermissionResponse, + Source, } from './legacy/Calendar'; import { stringifyDateValues, stringifyIfDate, getNullableDetailsFields } from './utils'; @@ -88,14 +89,28 @@ export class ExpoCalendarEvent extends InternalExpoCalendar.ExpoCalendarEvent { /** * Represents a calendar reminder object that can be accessed and modified using the Expo Calendar Next API. + * @platform ios */ export class ExpoCalendarReminder extends InternalExpoCalendar.ExpoCalendarReminder { override async update(details: Partial): Promise { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('ExpoCalendarReminder', 'update'); + } const nullableDetailsFields = getNullableDetailsFields(details); await super.update(stringifyDateValues(details), nullableDetailsFields); } + override async delete(): Promise { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('ExpoCalendarReminder', 'delete'); + } + await super.delete(); + } + static override async get(reminderId: string): Promise { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('ExpoCalendarReminder', 'get'); + } const reminder = await InternalExpoCalendar.getReminderById(reminderId); Object.setPrototypeOf(reminder, ExpoCalendarReminder.prototype); return reminder; @@ -128,6 +143,9 @@ export class ExpoCalendar extends InternalExpoCalendar.ExpoCalendar { } override async createReminder(details: Partial): Promise { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('ExpoCalendar', 'createReminder'); + } const newReminder = await super.createReminder(stringifyDateValues(details)); Object.setPrototypeOf(newReminder, ExpoCalendarReminder.prototype); return newReminder; @@ -152,6 +170,9 @@ export class ExpoCalendar extends InternalExpoCalendar.ExpoCalendar { endDate: Date | null = null, status: ReminderStatus | null = null ): Promise { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('ExpoCalendar', 'listReminders'); + } const reminders = await super.listReminders( startDate ? stringifyIfDate(startDate) : null, endDate ? stringifyIfDate(endDate) : null, @@ -185,7 +206,11 @@ export class ExpoCalendar extends InternalExpoCalendar.ExpoCalendar { /** * Gets an instance of the default calendar object. + * > **Android:** This function is not available on Android. Android does not expose a single + * > system-managed default calendar. Use `getCalendars()` and choose an appropriate writable + * > calendar for your app; `isPrimary` can help identify per-account primary calendars. * @return An [`ExpoCalendar`](#expocalendar) object that is the user's default calendar. + * @platform ios */ export function getDefaultCalendarSync(): ExpoCalendar { if (Platform.OS === 'android' || !InternalExpoCalendar.getDefaultCalendarSync) { @@ -289,20 +314,41 @@ export const getCalendarPermissions = InternalExpoCalendar.getCalendarPermission /** * Asks the user to grant permissions for accessing user's reminders. * @return A promise that resolves to an object of type [`PermissionResponse`](#permissionresponse). + * @platform ios */ -export const requestRemindersPermissions = InternalExpoCalendar.requestRemindersPermissions; +export async function requestRemindersPermissions(): Promise { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('Calendar', 'requestRemindersPermissions'); + } + return InternalExpoCalendar.requestRemindersPermissions!(); +} /** * Checks user's permissions for accessing user's reminders. * @return A promise that resolves to an object of type [`PermissionResponse`](#permissionresponse). + * @platform ios */ -export const getRemindersPermissions = InternalExpoCalendar.getRemindersPermissions; +export async function getRemindersPermissions(): Promise { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('Calendar', 'getRemindersPermissions'); + } + return InternalExpoCalendar.getRemindersPermissions!(); +} /** * Gets an array of Source objects with details about the different sources stored on the device. + * > **Android:** This function is not available on Android. Android does not expose a + * > first-class calendar sources API. If you need account-like source information, call + * > `getCalendars()` and inspect each calendar's `source` field. * @returns An array of Source objects representing the sources found. + * @platform ios */ -export const getSourcesSync = InternalExpoCalendar.getSourcesSync; +export function getSourcesSync(): Source[] { + if (Platform.OS !== 'ios') { + throw new UnavailabilityError('Calendar', 'getSourcesSync'); + } + return InternalExpoCalendar.getSourcesSync(); +} export type { ModifiableEventProperties, @@ -375,8 +421,26 @@ export const useCalendarPermissions = createPermissionHook< * ```ts * const [status, requestPermission] = Calendar.useRemindersPermissions(); * ``` + * @platform ios */ -export const useRemindersPermissions = createPermissionHook({ +export function useRemindersPermissions( + options?: PermissionHookOptions +): ReturnType { + if (Platform.OS !== 'ios') { + // While for getRemindersPermissions and other iOS-specific functions we throw UnavailabilityError, + // returning a denied permission response is a deliberate choice to make it work without need to wrap it in try/catch. + const response: PermissionResponse = { + canAskAgain: false, + expires: 'never', + granted: false, + status: PermissionStatus.DENIED, + }; + return [response, async () => response, async () => response]; + } + return createRemindersPermissionHook(options); +} + +const createRemindersPermissionHook = createPermissionHook({ getMethod: getRemindersPermissions, requestMethod: requestRemindersPermissions, }); diff --git a/packages/expo-calendar/src/ExpoCalendar.types.ts b/packages/expo-calendar/src/ExpoCalendar.types.ts index fc3d76f2298c6f..174514ef952558 100644 --- a/packages/expo-calendar/src/ExpoCalendar.types.ts +++ b/packages/expo-calendar/src/ExpoCalendar.types.ts @@ -34,7 +34,13 @@ export type AddEventWithFormOptions = PresentationOptions & { allDay?: boolean; notes?: string; location?: string; + /** + * @platform ios + */ url?: string; + /** + * @platform ios + */ alarms?: Alarm[]; recurrenceRule?: RecurrenceRule; }; @@ -176,6 +182,7 @@ export declare class ExpoCalendar { * @param endDate End of time period to search for reminders in, or `null` for all completed reminders after `startDate`. * @param status One of `Calendar.ReminderStatus.COMPLETED` or `Calendar.ReminderStatus.INCOMPLETE`. If not defined, both completed and incomplete reminders will be returned. * @return An array of [`ExpoCalendarReminder`](#expocalendarreminder) objects matching the search criteria. + * @platform ios */ listReminders( startDate?: Date | string | null, @@ -196,6 +203,7 @@ export declare class ExpoCalendar { * Creates a new reminder in the calendar. * @param reminderData A map of details for the reminder to be created. * @return An instance of the created reminder. + * @platform ios */ createReminder( reminderData: Omit, 'id' | 'calendarId'> @@ -380,7 +388,6 @@ export declare class ExpoCalendarEvent { * Returns an event instance for a given event (or instance of a recurring event). * @param recurringEventOptions A map of options for recurring events. * @return An event instance. - * @platform ios */ getOccurrenceSync(recurringEventOptions?: RecurringEventOptions): ExpoCalendarEvent; @@ -488,6 +495,9 @@ export declare class ExpoCalendarReminder { */ completionDate?: string | Date; + /** + * @platform ios + */ update( details: Partial, nullableFields?: (keyof ModifiableReminderProperties)[] @@ -495,6 +505,7 @@ export declare class ExpoCalendarReminder { /** * Deletes the reminder. + * @platform ios */ delete(): Promise; @@ -502,6 +513,7 @@ export declare class ExpoCalendarReminder { * Gets a reminder by its ID. Throws an error if the reminder with the given ID does not exist. * @param reminderId The ID of the reminder to get. * @returns An [`ExpoCalendarReminder`](#expocalendarreminder) object representing the reminder. + * @platform ios */ static get(reminderId: string): Promise; } From 7ecc5b2d38f7ae932784d9abbda53294552f9c9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Kosmaty?= Date: Mon, 15 Jun 2026 13:33:01 +0200 Subject: [PATCH 02/14] [android][dev-launcher] Replace Apollo Client with custom implementation (#46912) --- .../expo-dev-launcher/android/build.gradle | 26 - .../src/debug/graphql/GetBranches.graphql | 44 - .../src/debug/graphql/GetUpdates.graphql | 21 - .../android/src/debug/graphql/Me.graphql | 18 - .../android/src/debug/graphql/schema.graphqls | 9850 ----------------- .../compose/models/BranchViewModel.kt | 15 +- .../compose/models/BranchesViewModel.kt | 74 +- .../devlauncher/compose/ui/AppHeader.kt | 4 +- .../services/ApolloClientService.kt | 98 - .../services/DependencyInjection.kt | 6 +- .../devlauncher/services/GraphQLService.kt | 256 + .../devlauncher/services/HttpClientService.kt | 68 +- .../devlauncher/services/SessionService.kt | 22 +- 13 files changed, 329 insertions(+), 10173 deletions(-) delete mode 100644 packages/expo-dev-launcher/android/src/debug/graphql/GetBranches.graphql delete mode 100644 packages/expo-dev-launcher/android/src/debug/graphql/GetUpdates.graphql delete mode 100644 packages/expo-dev-launcher/android/src/debug/graphql/Me.graphql delete mode 100644 packages/expo-dev-launcher/android/src/debug/graphql/schema.graphqls delete mode 100644 packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/ApolloClientService.kt create mode 100644 packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/GraphQLService.kt diff --git a/packages/expo-dev-launcher/android/build.gradle b/packages/expo-dev-launcher/android/build.gradle index 57d7c755d53ae3..ffa4abd20d4697 100644 --- a/packages/expo-dev-launcher/android/build.gradle +++ b/packages/expo-dev-launcher/android/build.gradle @@ -5,7 +5,6 @@ buildscript { dependencies { classpath("org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:${kotlinVersion}") classpath("org.jetbrains.kotlin.plugin.serialization:org.jetbrains.kotlin.plugin.serialization.gradle.plugin:${kotlinVersion}") - classpath("com.apollographql.apollo:apollo-gradle-plugin:4.4.2") } } @@ -13,7 +12,6 @@ apply plugin: 'com.android.library' apply plugin: 'expo-module-gradle-plugin' apply plugin: 'org.jetbrains.kotlin.plugin.compose' apply plugin: 'org.jetbrains.kotlin.plugin.serialization' -apply plugin: 'com.apollographql.apollo' def configureInRelease = findProperty("expo.devlauncher.configureInRelease") == "true" if (configureInRelease) { @@ -69,28 +67,6 @@ android { } } -apollo { - service("service") { - packageName.set("expo.modules.devlauncher") - srcDir("src/debug/graphql") - - introspection { - endpointUrl.set("https://api.expo.dev/graphql") - schemaFile.set(file("src/debug/graphql/schema.graphqls")) - } - - outputDir.set(project.layout.buildDirectory.dir("generated/apollo")) - outputDirConnection { - connectToKotlinSourceSet("debug") - connectToKotlinSourceSet("debugOptimized") - - if (configureInRelease) { - connectToKotlinSourceSet("release") - } - } - } -} - repositories { // ref: https://www.baeldung.com/maven-local-repository mavenLocal() @@ -155,8 +131,6 @@ dependencies { debugOnly("org.jetbrains.kotlinx:kotlinx-datetime:0.7.1") - debugOnly("com.apollographql.apollo:apollo-runtime:4.4.2") - debugOnly("com.composables:core:1.43.1") testImplementation 'androidx.test:core:1.7.0' diff --git a/packages/expo-dev-launcher/android/src/debug/graphql/GetBranches.graphql b/packages/expo-dev-launcher/android/src/debug/graphql/GetBranches.graphql deleted file mode 100644 index 990a8132cda010..00000000000000 --- a/packages/expo-dev-launcher/android/src/debug/graphql/GetBranches.graphql +++ /dev/null @@ -1,44 +0,0 @@ -query getBranchesWithCompatibleUpdate( - $appId: String! - $offset: Int! - $limit: Int! - $runtimeVersion: String! - $platform: AppPlatform! -) { - app { - byId(appId: $appId) { - updateBranches(offset: $offset, limit: $limit) { - id - name - - compatibleUpdates: updates( - offset: 0 - limit: 1 - filter: { runtimeVersions: [$runtimeVersion], platform: $platform } - ) { - id - message - runtimeVersion - createdAt - manifestPermalink - } - } - } - } -} - -query getBranches( - $appId: String! - $offset: Int! - $limit: Int! - $platform: AppPlatform! -) { - app { - byId(appId: $appId) { - updateBranches(offset: $offset, limit: $limit) { - id - name - } - } - } -} diff --git a/packages/expo-dev-launcher/android/src/debug/graphql/GetUpdates.graphql b/packages/expo-dev-launcher/android/src/debug/graphql/GetUpdates.graphql deleted file mode 100644 index f25624a40250ad..00000000000000 --- a/packages/expo-dev-launcher/android/src/debug/graphql/GetUpdates.graphql +++ /dev/null @@ -1,21 +0,0 @@ -query getUpdatesWithFilters( - $appId: String! - $branchName: String! - $offset: Int! - $limit: Int! - $platform: AppPlatform! -) { - app { - byId(appId: $appId) { - updateBranchByName(name: $branchName) { - updates(offset: $offset, limit: $limit, filter: { platform: $platform }) { - id - message - runtimeVersion - createdAt - manifestPermalink - } - } - } - } -} diff --git a/packages/expo-dev-launcher/android/src/debug/graphql/Me.graphql b/packages/expo-dev-launcher/android/src/debug/graphql/Me.graphql deleted file mode 100644 index f65eddf12cf268..00000000000000 --- a/packages/expo-dev-launcher/android/src/debug/graphql/Me.graphql +++ /dev/null @@ -1,18 +0,0 @@ -query Me { - meUserActor { - id - appCount - profilePhoto - username - isExpoAdmin - accounts { - id - name - ownerUserActor { - username - fullName - profilePhoto - } - } - } -} diff --git a/packages/expo-dev-launcher/android/src/debug/graphql/schema.graphqls b/packages/expo-dev-launcher/android/src/debug/graphql/schema.graphqls deleted file mode 100644 index 04c045e8a4861f..00000000000000 --- a/packages/expo-dev-launcher/android/src/debug/graphql/schema.graphqls +++ /dev/null @@ -1,9850 +0,0 @@ -""" -Date custom scalar type -""" -scalar DateTime - -""" -The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID. -""" -scalar ID - -""" -The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). -""" -scalar JSON - -""" -The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). -""" -scalar JSONObject - -type RootQuery { - """ - This is a placeholder field - """ - _doNotUse: String @deprecated(reason: "Not used.") - - """ - Top-level query object for querying Accounts. - """ - account: AccountQuery! - - """ - Top-level query object for querying AccountSSOConfigurationPublicData - """ - accountSSOConfigurationPublicData: AccountSSOConfigurationPublicDataQuery! - - """ - Top-level query object for querying Actors. - """ - actor: ActorQuery! @deprecated(reason: "Public actor queries are no longer supported") - - """ - Top-level query object for querying Apple Device registration requests. - """ - appleDeviceRegistrationRequest: AppleDeviceRegistrationRequestQuery! - - """ - Top-level query object for querying Apple distribution certificates. - """ - appleDistributionCertificate: AppleDistributionCertificateQuery - - """ - Top-level query object for querying Apple provisioning profiles. - """ - appleProvisioningProfile: AppleProvisioningProfileQuery - - """ - Top-level query object for querying Apple Teams. - """ - appleTeam: AppleTeamQuery! - - app: AppQuery! - - """ - Look up app by app id - """ - appByAppId(appId: String!): App @deprecated(reason: "Use 'byId' field under 'app'.") - - """ - Public apps in the app directory - """ - allPublicApps("Filter to use to filter public app list" filter: AppsFilter!, "Method to sort by" sort: AppSort!, offset: Int, limit: Int): [App] @deprecated(reason: "Use 'all' field under 'app'.") - - """ - Top-level query object for querying App Store Connect API Keys. - """ - appStoreConnectApiKey: AppStoreConnectApiKeyQuery! - - asset: AssetQuery! - - """ - Top-level query object for querying Account Audit Logs. - """ - auditLogs: AuditLogQuery! - - """ - Top-level query object for querying User Audit Logs. - """ - userAuditLogs: UserAuditLogQuery! - - backgroundJobReceipt: BackgroundJobReceiptQuery! - - """ - Top-level query object for querying Branchs. - """ - branches: BranchQuery! - - """ - Top-level query object for querying annotations. - """ - buildAnnotations: BuildAnnotationsQuery! - - """ - Top-level query object for querying BuildPublicData publicly. - """ - buildPublicData: BuildPublicDataQuery! - - builds: BuildQuery! - - """ - Top-level query object for querying Channels. - """ - channels: ChannelQuery! - - """ - Top-level query object for querying Deployments. - """ - deployments: DeploymentQuery! - - """ - Top-level query object for querying Experimentation configuration. - """ - experimentation: ExperimentationQuery! - - """ - Top-level query object for querying GitHub App information and resources it has access to. - """ - githubApp: GitHubAppQuery! - - """ - Top-level query object for querying Google Service Account Keys. - """ - googleServiceAccountKey: GoogleServiceAccountKeyQuery! - - """ - Top-level query object for querying Stripe Invoices. - """ - invoice: InvoiceQuery! - - jobRun: JobRunQuery! - - project: ProjectQuery! @deprecated(reason: "Snacks and apps should be queried separately") - - """ - Top-level query object for querying Runtimes. - """ - runtimes: RuntimeQuery! - - snack: SnackQuery! - - """ - Top-level query object for querying Expo status page services. - """ - statuspageService: StatuspageServiceQuery! - - submissions: SubmissionQuery! - - """ - fetch all updates in a group - """ - updatesByGroup(group: ID!, platform: String): [Update!]! - - """ - Top-level query object for querying Updates. - """ - updates: UpdateQuery! - - """ - Top-level query object for querying UserActorPublicData publicly. - """ - userActorPublicData: UserActorPublicDataQuery! - - """ - Top-level query object for querying UserActors. - """ - userActor: UserActorQuery! @deprecated(reason: "Public user queries are no longer supported") - - """ - Top-level query object for querying UserInvitationPublicData publicly. - """ - userInvitationPublicData: UserInvitationPublicDataQuery! - - """ - Top-level query object for querying Users. - """ - user: UserQuery! @deprecated(reason: "Public user queries are no longer supported") - - userByUserId(userId: String!): User @deprecated(reason: "Use 'byId' field under 'user'.") - - userByUsername(username: String!): User @deprecated(reason: "Use 'byUsername' field under 'user'.") - - """ - If authenticated as a typical end user, this is the appropriate top-level - query object - """ - me: User - - """ - If authenticated as a typical end user, this is the appropriate top-level - query object - """ - viewer: User - - """ - If authenticated as any type of Actor, this is the appropriate top-level - query object - """ - meActor: Actor - - """ - If authenticated as any type of human end user (Actor types User or SSOUser), - this is the appropriate top-level query object - """ - meUserActor: UserActor - - """ - Top-level query object for querying Webhooks. - """ - webhook: WebhookQuery! - - workerDeployment: WorkerDeploymentQuery! - - workflowJobs: WorkflowJobQuery! - - workflows: WorkflowQuery! - - workflowRevisions: WorkflowRevisionQuery! - - workflowRuns: WorkflowRunQuery! -} - -""" -The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text. -""" -scalar String - -""" -The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. -""" -scalar Int - -type RootMutation { - """ - This is a placeholder field - """ - _doNotUse: String @deprecated(reason: "Not used.") - - """ - Mutations that create, read, update, and delete AccessTokens for Actors - """ - accessToken: AccessTokenMutation! - - """ - Mutations that modify an Account - """ - account(accountName: ID): AccountMutation! - - """ - Mutations that create, update, and delete an AccountSSOConfiguration - """ - accountSSOConfiguration: AccountSSOConfigurationMutation! - - """ - Mutations for Actor experiments - """ - actorExperiment: ActorExperimentMutation! - - """ - Mutations that modify the build credentials for an Android app - """ - androidAppBuildCredentials: AndroidAppBuildCredentialsMutation! - - """ - Mutations that modify the credentials for an Android app - """ - androidAppCredentials: AndroidAppCredentialsMutation! - - """ - Mutations that modify an FCM V0/Legacy credential - """ - androidFcm: AndroidFcmMutation! - - """ - Mutations that modify a Keystore - """ - androidKeystore: AndroidKeystoreMutation! - - """ - Mutations that assign or modify DevDomainNames for apps - """ - devDomainName: AppDevDomainNameMutation! - - """ - Mutations that modify an Identifier for an iOS App - """ - appleAppIdentifier: AppleAppIdentifierMutation! - - """ - Mutations that modify an Apple Device - """ - appleDevice: AppleDeviceMutation! - - """ - Mutations that modify an Apple Device registration request - """ - appleDeviceRegistrationRequest: AppleDeviceRegistrationRequestMutation! - - """ - Mutations that modify a Distribution Certificate - """ - appleDistributionCertificate: AppleDistributionCertificateMutation! - - """ - Mutations that modify a Provisioning Profile - """ - appleProvisioningProfile: AppleProvisioningProfileMutation! - - """ - Mutations that modify an Apple Push Notification key - """ - applePushKey: ApplePushKeyMutation! - - """ - Mutations that modify an Apple Team - """ - appleTeam: AppleTeamMutation! - - """ - Mutations that modify an App - """ - app(appId: ID): AppMutation - - """ - Mutations that modify an App Store Connect Api Key - """ - appStoreConnectApiKey: AppStoreConnectApiKeyMutation! - - """ - Mutations that modify an AppVersion - """ - appVersion: AppVersionMutation! - - asset: AssetMutation! - - auditLog: AuditLogMutation! - - userAuditLog: UserAuditLogMutation! - - """ - Mutations that create, update, and delete Build Annotations - """ - buildAnnotation: BuildAnnotationMutation! - - """ - Mutations that modify an EAS Build - """ - build(buildId: ID): BuildMutation! - - deployments: DeploymentsMutation! - - """ - Mutations for Discord users - """ - discordUser: DiscordUserMutation! - - """ - Mutations that modify an EmailSubscription - """ - emailSubscription: EmailSubscriptionMutation! - - """ - Mutations that create and delete EnvironmentSecrets - """ - environmentSecret: EnvironmentSecretMutation! - - """ - Mutations that create and delete EnvironmentVariables - """ - environmentVariable: EnvironmentVariableMutation! - - """ - Mutations that modify App fingerprints - """ - fingerprint: FingerprintMutation! - - """ - Mutations for GitHub App installations - """ - githubAppInstallation: GitHubAppInstallationMutation! - - """ - Mutations that utilize services facilitated by the GitHub App - """ - githubApp: GitHubAppMutation! - - """ - Mutations for GitHub build triggers - """ - githubBuildTrigger: GitHubBuildTriggerMutation! - - githubJobRunTrigger: GitHubJobRunTriggerMutation! - - """ - Mutations for GitHub repositories - """ - githubRepository: GitHubRepositoryMutation! - - """ - Mutations for GitHub repository settings - """ - githubRepositorySettings: GitHubRepositorySettingsMutation! - - """ - Mutations for GitHub users - """ - githubUser: GitHubUserMutation! - - """ - Mutations that modify a Google Service Account Key - """ - googleServiceAccountKey: GoogleServiceAccountKeyMutation! - - """ - Mutations that modify the build credentials for an iOS app - """ - iosAppBuildCredentials: IosAppBuildCredentialsMutation! - - """ - Mutations that modify the credentials for an iOS app - """ - iosAppCredentials: IosAppCredentialsMutation! - - """ - Mutations that modify an EAS Build - """ - jobRun: JobRunMutation! - - keystoreGenerationUrl: KeystoreGenerationUrlMutation! - - """ - Mutations for LogRocket organizations - """ - logRocketOrganization: LogRocketOrganizationMutation! - - """ - Mutations for LogRocket projects - """ - logRocketProject: LogRocketProjectMutation! - - """ - Mutations that modify a NotificationSubscription - """ - notificationSubscription: NotificationSubscriptionMutation! - - """ - Mutations that create, update, and delete Robots - """ - robot: RobotMutation! - - """ - Mutations for Sentry installations - """ - sentryInstallation: SentryInstallationMutation! - - """ - Mutations for Sentry projects - """ - sentryProject: SentryProjectMutation! - - """ - Mutations that modify an EAS Submit submission - """ - submission: SubmissionMutation! - - updateBranch: UpdateBranchMutation! - - updateChannel: UpdateChannelMutation! - - update: UpdateMutation! - - uploadSession: UploadSession! - - """ - Mutations that create, update, and delete pinned apps - """ - userAppPins: UserAppPinMutation! - - """ - Mutations that create, delete, and accept UserInvitations - """ - userInvitation: UserInvitationMutation! - - """ - Mutations that modify the currently authenticated User - """ - me: MeMutation! - - """ - Mutations that create, delete, update Webhooks - """ - webhook: WebhookMutation! - - """ - Mutations that modify a websiteNotification - """ - websiteNotifications: WebsiteNotificationMutation! - - customDomain: CustomDomainMutation! - - workflowJobApproval: WorkflowJobApprovalMutation! - - workflowRevision: WorkflowRevisionMutation! - - workflowRun: WorkflowRunMutation! -} - -""" -A method of authentication for an Actor -""" -type AccessToken { - id: ID! - - visibleTokenPrefix: String! - - createdAt: DateTime! - - updatedAt: DateTime! - - revokedAt: DateTime - - lastUsedAt: DateTime - - owner: Actor! - - note: String -} - -""" -Public auth configuration data for an SSO account. -""" -type AccountSSOConfigurationPublicData { - id: ID! - - authProviderIdentifier: AuthProviderIdentifier! - - authProtocol: AuthProtocolType! - - issuer: String! - - authorizationUrl: String! -} - -enum AuthProtocolType { - OIDC -} - -enum AuthProviderIdentifier { - GOOGLE_WS - - MS_ENTRA_ID - - OKTA - - ONE_LOGIN - - STUB_IDP - - GENERIC -} - -""" -Auth configuration data for an SSO account. -""" -type AccountSSOConfiguration { - id: ID! - - authProviderIdentifier: AuthProviderIdentifier! - - authProtocol: AuthProtocolType! - - issuer: String! - - clientIdentifier: String! - - clientSecret: String! - - createdAt: DateTime! - - updatedAt: DateTime! -} - -enum Feature { - """ - Top Tier Support - """ - SUPPORT - - """ - Share access to projects - """ - TEAMS - - """ - Priority Builds - """ - BUILDS - - """ - Funds support for open source development - """ - OPEN_SOURCE -} - -enum OfferType { - """ - Term subscription - """ - SUBSCRIPTION - - """ - Advanced Purchase of Paid Resource - """ - PREPAID - - """ - Addon, or supplementary subscription - """ - ADDON -} - -enum StandardOffer { - """ - $29 USD per month, 30 day trial - """ - DEFAULT - - """ - $348 USD per year, 30 day trial - """ - YEARLY_SUB - - """ - $29 USD per month, 1 year trial - """ - YC_DEALS - - """ - $800 USD per month - """ - SUPPORT -} - -enum AppleDeviceClass { - IPAD - - IPHONE - - MAC - - UNKNOWN -} - -type Charge { - id: ID! - - paid: Boolean! - - invoiceId: String - - createdAt: DateTime! - - amount: Int! - - wasRefunded: Boolean! - - receiptUrl: String -} - -""" -The `Boolean` scalar type represents `true` or `false`. -""" -scalar Boolean - -type OfferPrerequisite { - type: String! - - stripeIds: [String!]! -} - -type Offer { - id: ID! - - stripeId: ID! - - price: Int! - - quantity: Int - - trialLength: Int - - type: OfferType! - - features: [Feature] - - prerequisite: OfferPrerequisite -} - -type Card { - cardHolder: String - - brand: String - - last4: String - - expYear: Int - - expMonth: Int -} - -type Address { - line1: String - - city: String - - state: String - - zip: String - - country: String -} - -type PaymentDetails { - id: ID! - - card: Card - - address: Address -} - -type Concurrencies { - total: Int! - - android: Int! - - ios: Int! -} - -type MeteredBillingStatus { - EAS_BUILD: Boolean! - - EAS_UPDATE: Boolean! -} - -type FutureSubscription { - id: ID! - - createdAt: DateTime! - - startDate: DateTime! - - planId: String! - - meteredBillingStatus: MeteredBillingStatus! - - recurringCents: Int -} - -type StripeCoupon { - id: ID! - - name: String! - - valid: Boolean! - - percentOff: Float - - amountOff: String - - appliesTo: String -} - -""" -The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point). -""" -scalar Float - -enum EASTotalPlanEnablementUnit { - BUILD - - BYTE - - CONCURRENCY - - REQUEST - - UPDATER - - USER -} - -type EASTotalPlanEnablement { - total: Int! - - unit: EASTotalPlanEnablementUnit -} - -union PlanEnablement = Concurrencies|EASTotalPlanEnablement - -type SubscriptionDetails { - id: ID! - - planId: String - - addons: [AddonDetails!]! - - concurrencies: Concurrencies - - name: String - - price: Int! - - recurringCents: Int - - nextInvoice: DateTime - - nextInvoiceAmountDueCents: Int - - cancelAt: DateTime - - willCancel: Boolean - - endedAt: DateTime - - trialEnd: DateTime - - status: String - - isDowngrading: Boolean - - futureSubscription: FutureSubscription - - meteredBillingStatus: MeteredBillingStatus! - - coupon: StripeCoupon - - planEnablement(serviceMetric: EASServiceMetric!): PlanEnablement - - upcomingInvoice: Invoice -} - -type AddonDetails { - id: ID! - - planId: String! - - name: String! - - nextInvoice: DateTime - - willCancel: Boolean - - quantity: Int -} - -type BillingPeriod { - id: ID! - - start: DateTime! - - end: DateTime! - - anchor: DateTime! -} - -type Billing { - id: ID! - - payment: PaymentDetails @deprecated(reason: "No longer used") - - subscription: SubscriptionDetails - - """ - History of invoices - """ - charges: [Charge] -} - -""" -An account is a container owning projects, credentials, billing and other organization -data and settings. Actors may own and be members of accounts. -""" -type Account { - id: ID! - - name: String! - - displayName: String - - isCurrent: Boolean! - - logRocketOrganization: LogRocketOrganization - - pendingSentryInstallation: PendingSentryInstallation - - sentryInstallation: SentryInstallation - - pushSecurityEnabled: Boolean! - - isDisabled: Boolean! - - createdAt: DateTime! - - updatedAt: DateTime! - - lastDeletionAttemptTime: DateTime - - """ - Offers set on this account - """ - offers: [Offer!] - - """ - Snacks associated with this account - """ - snacks(offset: Int!, limit: Int!): [Snack!]! - - """ - Apps associated with this account - """ - apps(offset: Int!, limit: Int!, includeUnpublished: Boolean): [App!]! @deprecated(reason: "Use appsPaginated") - - appCount: Int! - - """ - Paginated list of apps associated with this account. By default sorted by name. Use filter to adjust the sorting order. - """ - appsPaginated(first: Int, after: String, last: Int, before: String, filter: AccountAppsFilterInput): AccountAppsConnection! - - """ - Coalesced project activity for all apps belonging to this account. - """ - activityTimelineProjectActivities(limit: Int!, " Offset the query " createdBefore: DateTime, " Types of objects to filter " filterTypes: [ActivityTimelineProjectActivityType!]): [ActivityTimelineProjectActivity!]! - - """ - Coalesced project activity for an app using pagination - """ - timelineActivity(first: Int, after: String, last: Int, before: String, filter: TimelineActivityFilterInput): TimelineActivityConnection! - - """ - Owning User of this account if personal account - """ - owner: User @deprecated(reason: "Deprecated in favor of ownerUserActor") - - """ - Owning UserActor of this account if personal account - """ - ownerUserActor: UserActor - - """ - Owning UserActor of this account if personal account - """ - userActorOwner: UserActor @deprecated(reason: "Deprecated in favor of ownerUserActor") - - """ - Actors associated with this account and permissions they hold - """ - users: [UserPermission!]! - - """ - Permission info for the viewer on this account - """ - viewerUserPermission: UserPermission! - - """ - Pending user invitations for this account - """ - userInvitations: [UserInvitation!]! - - """ - Whether this account has SSO enabled. Can be queried by all members. - """ - isSSOEnabled: Boolean! - - """ - SSO configuration for this account - """ - ssoConfiguration: AccountSSOConfiguration - - """ - Billing information. Only visible to members with the ADMIN or OWNER role. - """ - billing: Billing - - billingPeriod(date: DateTime!): BillingPeriod! - - """ - Subscription info visible to members that have VIEWER role - """ - subscription: SubscriptionDetails - - """ - iOS credentials for account - """ - appleTeamsPaginated(first: Int, after: String, last: Int, before: String, filter: AppleTeamFilterInput): AccountAppleTeamsConnection! - - appleAppIdentifiers(bundleIdentifier: String): [AppleAppIdentifier!]! - - appleDevicesPaginated(first: Int, after: String, last: Int, before: String, filter: AppleDeviceFilterInput): AccountAppleDevicesConnection! - - appleDistributionCertificatesPaginated(first: Int, after: String, last: Int, before: String): AccountAppleDistributionCertificatesConnection! - - applePushKeysPaginated(first: Int, after: String, last: Int, before: String): AccountApplePushKeysConnection! - - appleProvisioningProfilesPaginated(first: Int, after: String, last: Int, before: String): AccountAppleProvisioningProfilesConnection! - - appStoreConnectApiKeysPaginated(first: Int, after: String, last: Int, before: String): AccountAppStoreConnectApiKeysConnection! - - appleTeams(appleTeamIdentifier: String, offset: Int, limit: Int): [AppleTeam!]! @deprecated(reason: "Use appleTeamsPaginated") - - appleDevices(identifier: String, offset: Int, limit: Int): [AppleDevice!]! @deprecated(reason: "Use appleDevicesPaginated") - - appleDistributionCertificates: [AppleDistributionCertificate!]! @deprecated(reason: "Use appleDistributionCertificatesPaginated") - - applePushKeys: [ApplePushKey!]! @deprecated(reason: "Use applePushKeysPaginated") - - appleProvisioningProfiles(appleAppIdentifierId: ID): [AppleProvisioningProfile!]! @deprecated(reason: "Use appleProvisioningProfilesPaginated") - - appStoreConnectApiKeys: [AppStoreConnectApiKey!]! @deprecated(reason: "Use appStoreConnectApiKeysPaginated") - - """ - Android credentials for account - """ - googleServiceAccountKeysPaginated(first: Int, after: String, last: Int, before: String): AccountGoogleServiceAccountKeysConnection! - - googleServiceAccountKeys: [GoogleServiceAccountKey!]! @deprecated(reason: "Use googleServiceAccountKeysPaginated") - - """ - Audit logs for account - """ - auditLogsPaginated(first: Int, after: String, last: Int, before: String, filter: AuditLogFilterInput): AuditLogConnection! - - """ - Environment secrets for an account - """ - environmentSecrets(filterNames: [String!]): [EnvironmentSecret!]! - - """ - Environment variables for an account - """ - environmentVariables(filterNames: [String!], environment: EnvironmentVariableEnvironment): [EnvironmentVariable!]! - - """ - Environment variables for an account with decrypted secret values - """ - environmentVariablesIncludingSensitive(filterNames: [String!], environment: EnvironmentVariableEnvironment): [EnvironmentVariableWithSecret!]! - - """ - GitHub App installations for an account - """ - githubAppInstallations: [GitHubAppInstallation!]! - - """ - Whether an Account plan falls into AppDevDomainName's free or paid tier - """ - isFreeAppDevDomainTier: Boolean! - - profileImageUrl: String! - - """ - Server account feature gate values for this account, optionally filtering by desired gates. - """ - accountFeatureGates(filter: [String!]): JSONObject! - - accessTokens: [AccessToken]! @deprecated(reason: "Legacy access tokens are deprecated") - - requiresAccessTokenForPushSecurity: Boolean! @deprecated(reason: "Legacy access tokens are deprecated") - - unlimitedBuilds: Boolean! @deprecated(reason: "See isCurrent") - - availableBuilds: Int @deprecated(reason: "Build packs are no longer supported") - - subscriptionChangesPending: Boolean @deprecated(reason: "No longer needed") - - willAutoRenewBuilds: Boolean @deprecated(reason: "Build packs are no longer supported") - - hasBuilds: Boolean! - - """ - Account query object for querying EAS usage metrics - """ - usageMetrics: AccountUsageMetrics! -} - -type AccountAppsConnection { - pageInfo: PageInfo! - - edges: [AccountAppsEdge!]! -} - -type AccountAppsEdge { - cursor: String! - - node: App! -} - -type AccountAppleTeamsConnection { - pageInfo: PageInfo! - - edges: [AccountAppleTeamsEdge!]! -} - -type AccountAppleTeamsEdge { - cursor: String! - - node: AppleTeam! -} - -type AccountAppleDevicesConnection { - pageInfo: PageInfo! - - edges: [AccountAppleDevicesEdge!]! -} - -type AccountAppleDevicesEdge { - cursor: String! - - node: AppleDevice! -} - -type AccountAppleDistributionCertificatesConnection { - pageInfo: PageInfo! - - edges: [AccountAppleDistributionCertificatesEdge!]! -} - -type AccountAppleDistributionCertificatesEdge { - cursor: String! - - node: AppleDistributionCertificate! -} - -type AccountApplePushKeysConnection { - pageInfo: PageInfo! - - edges: [AccountApplePushKeysEdge!]! -} - -type AccountApplePushKeysEdge { - cursor: String! - - node: ApplePushKey! -} - -type AccountAppleProvisioningProfilesConnection { - pageInfo: PageInfo! - - edges: [AccountAppleProvisioningProfilesEdge!]! -} - -type AccountAppleProvisioningProfilesEdge { - cursor: String! - - node: AppleProvisioningProfile! -} - -type AccountAppStoreConnectApiKeysConnection { - pageInfo: PageInfo! - - edges: [AccountAppStoreConnectApiKeysEdge!]! -} - -type AccountAppStoreConnectApiKeysEdge { - cursor: String! - - node: AppStoreConnectApiKey! -} - -type AccountGoogleServiceAccountKeysConnection { - pageInfo: PageInfo! - - edges: [AccountGoogleServiceAccountKeysEdge!]! -} - -type AccountGoogleServiceAccountKeysEdge { - cursor: String! - - node: GoogleServiceAccountKey! -} - -type AuditLogConnection { - pageInfo: PageInfo! - - edges: [AuditLogEdge!]! -} - -type AuditLogEdge { - cursor: String! - - node: AuditLog! -} - -input AccountAppsFilterInput { - sortByField: AccountAppsSortByField! - - searchTerm: String -} - -input AppleTeamFilterInput { - appleTeamIdentifier: String -} - -input AppleDeviceFilterInput { - identifier: String - - appleTeamIdentifier: String - - class: AppleDeviceClass -} - -input AuditLogFilterInput { - entityTypes: [EntityTypeName!] - - mutationTypes: [TargetEntityMutationType!] -} - -enum AccountAppsSortByField { - LATEST_ACTIVITY_TIME - - """ - Name prefers the display name but falls back to full_name with @account/ - part stripped. - """ - NAME -} - -enum ActivityTimelineProjectActivityType { - BUILD - - UPDATE - - SUBMISSION - - WORKER - - WORKFLOW_RUN -} - -interface ActivityTimelineProjectActivity { - id: ID! - - actor: Actor - - activityTimestamp: DateTime! -} - -enum Experiment { - ORBIT -} - -type ActorExperiment { - id: ID! - - experiment: Experiment! - - enabled: Boolean! - - createdAt: DateTime! - - updatedAt: DateTime! -} - -""" -A regular user, SSO user, or robot that can authenticate with Expo services and be a member of accounts. -""" -interface Actor { - id: ID! - - firstName: String - - created: DateTime! - - isExpoAdmin: Boolean! - - lastDeletionAttemptTime: DateTime - - """ - Best-effort human readable name for this actor for use in user interfaces during action attribution. - For example, when displaying a sentence indicating that actor X created a build or published an update. - """ - displayName: String! - - """ - Associated accounts - """ - accounts: [Account!]! - - """ - Access Tokens belonging to this actor - """ - accessTokens: [AccessToken!]! - - """ - Server feature gate values for this actor, optionally filtering by desired gates. - Only resolves for the viewer. - """ - featureGates(filter: [String!]): JSONObject! - - """ - Experiments associated with this actor - """ - experiments: [ActorExperiment!]! -} - -type AndroidAppBuildCredentials { - id: ID! - - name: String! - - androidKeystore: AndroidKeystore - - isDefault: Boolean! - - isLegacy: Boolean! -} - -input AndroidAppCredentialsFilter { - legacyOnly: Boolean - - applicationIdentifier: String -} - -type AndroidAppCredentials { - id: ID! - - app: App! - - applicationIdentifier: String - - androidFcm: AndroidFcm - - googleServiceAccountKeyForSubmissions: GoogleServiceAccountKey - - googleServiceAccountKeyForFcmV1: GoogleServiceAccountKey - - androidAppBuildCredentialsList: [AndroidAppBuildCredentials!]! - - isLegacy: Boolean! - - androidAppBuildCredentialsArray: [AndroidAppBuildCredentials!]! @deprecated(reason: "use androidAppBuildCredentialsList instead") -} - -union FcmSnippet = FcmSnippetLegacy|FcmSnippetV1 - -type FcmSnippetLegacy { - firstFourCharacters: String! - - lastFourCharacters: String! -} - -type FcmSnippetV1 { - projectId: String! - - keyId: String! - - serviceAccountEmail: String! - - clientId: String -} - -enum AndroidFcmVersion { - LEGACY - - V1 -} - -type AndroidFcm { - id: ID! - - account: Account! - - snippet: FcmSnippet! - - """ - Legacy FCM: returns the Cloud Messaging token, parses to a String - FCM v1: returns the Service Account Key file, parses to an Object - """ - credential: JSON! - - version: AndroidFcmVersion! - - createdAt: DateTime! - - updatedAt: DateTime! -} - -enum AndroidKeystoreType { - JKS - - PKCS12 - - UNKNOWN -} - -type AndroidKeystore { - id: ID! - - account: Account! - - type: AndroidKeystoreType! - - keystore: String! - - keystorePassword: String! - - keyAlias: String! - - keyPassword: String - - md5CertificateFingerprint: String - - sha1CertificateFingerprint: String - - sha256CertificateFingerprint: String - - createdAt: DateTime! - - updatedAt: DateTime! -} - -""" -A DevDomainName for a deployed serverless app -""" -scalar DevDomainName - -type AppDevDomainName { - id: ID! - - name: DevDomainName! - - app: App -} - -""" -Represents an Exponent App (or Experience in legacy terms) -""" -type App implements Project { - devDomainName: AppDevDomainName - - suggestedDevDomainName: String! - - """ - App query field for querying EAS Insights about this app - """ - insights: AppInsights! - - """ - App query field for querying details about an app's push notifications - """ - pushNotifications: AppPushNotifications! - - id: ID! - - name: String! - - fullName: String! - - slug: String! - - scopeKey: String! - - ownerAccount: Account! - - internalDistributionBuildPrivacy: AppInternalDistributionBuildPrivacy! - - pushSecurityEnabled: Boolean! - - assetLimitPerUpdateGroup: Int! - - logRocketProject: LogRocketProject - - sentryProject: SentryProject - - """ - Time of the last user activity (update, branch, submission). - """ - latestActivity: DateTime! - - """ - (EAS Build) Builds associated with this app - """ - builds(filter: BuildFilter, offset: Int!, limit: Int!, "Deprecated, use filter instead" status: BuildStatus, "Deprecated, use filter instead" platform: AppPlatform): [Build!]! - - """ - EAS Submissions associated with this app - """ - submissions(filter: SubmissionFilter!, offset: Int!, limit: Int!): [Submission!]! - - """ - Deployments associated with this app - """ - deployments(first: Int, after: String, last: Int, before: String, filter: DeploymentFilterInput): DeploymentsConnection! - - deployment(channel: String!, runtimeVersion: String!): Deployment - - """ - Runtimes associated with this app - """ - runtimes(first: Int, after: String, last: Int, before: String, filter: RuntimeFilterInput): RuntimesConnection! - - """ - iOS app credentials for the project - """ - iosAppCredentials(filter: IosAppCredentialsFilter): [IosAppCredentials!]! - - """ - Android app credentials for the project - """ - androidAppCredentials(filter: AndroidAppCredentialsFilter): [AndroidAppCredentials!]! - - """ - EAS channels owned by an app - """ - updateChannels(offset: Int!, limit: Int!): [UpdateChannel!]! - - """ - get an EAS channel owned by the app by name - """ - updateChannelByName(name: String!): UpdateChannel - - """ - EAS branches owned by an app - """ - updateBranches(offset: Int!, limit: Int!): [UpdateBranch!]! - - """ - get an EAS branch owned by the app by name - """ - updateBranchByName(name: String!): UpdateBranch - - """ - EAS updates owned by an app - """ - updates(offset: Int!, limit: Int!): [Update!]! - - """ - EAS updates owned by an app grouped by update group - """ - updateGroups(offset: Int!, limit: Int!, filter: UpdatesFilter): [[Update!]!]! - - """ - Coalesced project activity for an app - """ - activityTimelineProjectActivities(limit: Int!, " Offset the query " createdBefore: DateTime, " Types of objects to filter " filterTypes: [ActivityTimelineProjectActivityType!], filterPlatforms: [AppPlatform!], filterReleaseChannels: [String!] @deprecated(reason: "Classic updates are no longer supported"), filterChannels: [String!]): [ActivityTimelineProjectActivity!]! - - """ - Coalesced project activity for an app using pagination - """ - timelineActivity(first: Int, after: String, last: Int, before: String, filter: TimelineActivityFilterInput): TimelineActivityConnection! - - """ - Environment secrets for an app - """ - environmentSecrets(filterNames: [String!]): [EnvironmentSecret!]! - - """ - Environment variables for an app - """ - environmentVariables(filterNames: [String!], environment: EnvironmentVariableEnvironment): [EnvironmentVariable!]! - - """ - Environment variables for an app with decrypted secret values - """ - environmentVariablesIncludingSensitive(filterNames: [String!], environment: EnvironmentVariableEnvironment): [EnvironmentVariableWithSecret!]! - - """ - Webhooks for an app - """ - webhooks(filter: WebhookFilter): [Webhook!]! - - updatesPaginated(first: Int, after: String, last: Int, before: String, filter: UpdateFilterInput): AppUpdatesConnection! - - branchesPaginated(first: Int, after: String, last: Int, before: String, filter: BranchFilterInput): AppBranchesConnection! - - channelsPaginated(first: Int, after: String, last: Int, before: String, filter: ChannelFilterInput): AppChannelsConnection! - - submissionsPaginated(first: Int, after: String, last: Int, before: String): AppSubmissionsConnection! - - buildsPaginated(first: Int, after: String, last: Int, before: String, filter: BuildFilterInput): AppBuildsConnection! - - fingerprintsPaginated(first: Int, after: String, last: Int, before: String, filter: FingerprintFilterInput): AppFingerprintsConnection! - - latestAppVersionByPlatformAndApplicationIdentifier(platform: AppPlatform!, applicationIdentifier: String!): AppVersion - - workflows: [Workflow!]! - - workflowRunsPaginated(first: Int, after: String, last: Int, before: String, filter: AppWorkflowRunFilterInput): AppWorkflowRunsConnection! - - workflowRunGitBranchesPaginated(first: Int, after: String, last: Int, before: String, filter: WorkflowRunGitBranchFilterInput): AppWorkflowRunGitBranchesConnection! - - githubRepository: GitHubRepository - - githubRepositorySettings: GitHubRepositorySettings - - githubBuildTriggers: [GitHubBuildTrigger!]! - - githubJobRunTriggers: [GitHubJobRunTrigger!]! - - lastDeletionAttemptTime: DateTime - - resourceClassExperiment: ResourceClassExperiment - - profileImageUrl: String - - username: String! @deprecated(reason: "Use ownerAccount.name instead") - - iconUrl: String @deprecated(reason: "No longer supported") - - privacy: String! @deprecated(reason: "No longer supported") - - privacySetting: AppPrivacy! @deprecated(reason: "No longer supported") - - lastPublishedTime: DateTime! @deprecated(reason: "No longer supported") - - packageUsername: String! @deprecated(reason: "No longer supported") - - packageName: String! @deprecated(reason: "No longer supported") - - accessTokens: [AccessToken]! @deprecated(reason: "Legacy access tokens are deprecated") - - requiresAccessTokenForPushSecurity: Boolean! @deprecated(reason: "Legacy access tokens are deprecated") - - isLikedByMe: Boolean! @deprecated(reason: "'likes' have been deprecated.") - - likeCount: Int! @deprecated(reason: "'likes' have been deprecated.") - - trendScore: Float! @deprecated(reason: "'likes' have been deprecated.") - - likedBy(offset: Int, limit: Int): [User]! @deprecated(reason: "'likes' have been deprecated.") - - users: [User] @deprecated(reason: "No longer supported") - - description: String! @deprecated(reason: "Classic updates have been deprecated.") - - """ - Whether there have been any classic update publishes - """ - published: Boolean! @deprecated(reason: "Classic updates have been deprecated.") - - """ - Time of last classic update publish - """ - updated: DateTime! @deprecated(reason: "Classic updates have been deprecated.") - - """ - ID of latest classic update release - """ - latestReleaseId: ID! @deprecated(reason: "Classic updates have been deprecated.") - - """ - Whether the latest classic update publish is using a deprecated SDK version - """ - isDeprecated: Boolean! @deprecated(reason: "Classic updates have been deprecated.") - - """ - SDK version of the latest classic update publish, 0.0.0 otherwise - """ - sdkVersion: String! @deprecated(reason: "Classic updates have been deprecated.") - - """ - Classic update release channel names (to be removed) - """ - releaseChannels: [String!]! @deprecated(reason: "Classic updates have been deprecated.") - - """ - Classic update release channel names that have at least one build - """ - buildsReleaseChannels: [String!]! @deprecated(reason: "Classic updates have been deprecated.") - - """ - githubUrl field from most recent classic update manifest - """ - githubUrl: String @deprecated(reason: "Classic updates have been deprecated.") - - """ - android.playStoreUrl field from most recent classic update manifest - """ - playStoreUrl: String @deprecated(reason: "Classic updates have been deprecated.") - - """ - ios.appStoreUrl field from most recent classic update manifest - """ - appStoreUrl: String @deprecated(reason: "Classic updates have been deprecated.") - - """ - Info about the icon specified in the most recent classic update manifest - """ - icon: AppIcon @deprecated(reason: "Classic updates have been deprecated.") - - latestReleaseForReleaseChannel(platform: AppPlatform!, releaseChannel: String!): AppRelease @deprecated(reason: "Classic updates have been deprecated.") - - isDeleting: Boolean! @deprecated(reason: "Use lastDeletionAttemptTime !== null instead") - - """ - Project query object for querying EAS usage metrics - """ - usageMetrics: AppUsageMetrics! - - workerCustomDomain: WorkerCustomDomain - - workerDeploymentAlias(aliasName: WorkerDeploymentIdentifier): WorkerDeploymentAlias - - workerDeploymentAliases(first: Int, after: String, last: Int, before: String): WorkerDeploymentAliasesConnection! - - workerDeploymentsCrash(crashKey: ID!, sampleFor: CrashSampleFor): WorkerDeploymentCrashEdge! - - workerDeploymentsCrashes(timespan: DatasetTimespan!, filters: CrashesFilters): WorkerDeploymentCrashes - - workerDeploymentsRequest(requestKey: ID!): WorkerDeploymentRequestEdge! - - workerDeploymentsRequests(timespan: DatasetTimespan!, filters: RequestsFilters): WorkerDeploymentRequests - - workerDeployment(deploymentIdentifier: WorkerDeploymentIdentifier!): WorkerDeployment - - workerDeployments(first: Int, after: String, last: Int, before: String): WorkerDeploymentsConnection! -} - -type AppInsights { - hasEventsFromExpoInsightsClientModule: Boolean! - - uniqueUsersByPlatformOverTime(timespan: InsightsTimespan!): UniqueUsersOverTimeData! - - uniqueUsersByAppVersionOverTime(timespan: InsightsTimespan!): UniqueUsersOverTimeData! - - totalUniqueUsers(timespan: InsightsTimespan!): Int -} - -enum InsightsFilterType { - PLATFORM -} - -""" -The value field is always sent from the client as a string, -and then it's parsed server-side according to the filterType -""" -input InsightsFilter { - filterType: InsightsFilterType! - - value: String! -} - -input InsightsTimespan { - start: DateTime! - - end: DateTime! -} - -type CumulativeMetricsOverTimeData { - metricsAtLastTimestamp: [LineDatapoint!]! - - data: LineChartData! -} - -type DeploymentCumulativeMetricsOverTimeData { - mostPopularUpdates: [Update!]! - - metricsAtLastTimestamp: [LineDatapoint!]! - - data: LineChartData! -} - -type UniqueUsersOverTimeData { - data: LineChartData! -} - -type LineChartData { - labels: [String!]! - - datasets: [LineDataset!]! -} - -type LineDataset { - id: ID! - - label: String! - - data: [Int]! -} - -type LineDatapoint { - id: ID! - - label: String! - - data: Int! -} - -type AppleAppIdentifier { - id: ID! - - account: Account! - - appleTeam: AppleTeam - - bundleIdentifier: String! - - parentAppleAppIdentifier: AppleAppIdentifier -} - -type AppleDeviceRegistrationRequest { - id: ID! - - account: Account! - - appleTeam: AppleTeam! -} - -type AppleDevice { - id: ID! - - account: Account! - - appleTeam: AppleTeam! - - identifier: String! - - name: String - - model: String - - deviceClass: AppleDeviceClass - - softwareVersion: String - - enabled: Boolean - - createdAt: DateTime! -} - -type AppleDistributionCertificate { - id: ID! - - account: Account! - - appleTeam: AppleTeam - - serialNumber: String! - - validityNotBefore: DateTime! - - validityNotAfter: DateTime! - - developerPortalIdentifier: String - - certificateP12: String - - certificatePassword: String - - certificatePrivateSigningKey: String - - createdAt: DateTime! - - updatedAt: DateTime! - - iosAppBuildCredentialsList: [IosAppBuildCredentials!]! -} - -type AppleProvisioningProfile { - id: ID! - - account: Account! - - appleTeam: AppleTeam - - expiration: DateTime! - - appleAppIdentifier: AppleAppIdentifier! - - developerPortalIdentifier: String - - provisioningProfile: String - - appleUUID: String! - - status: String! - - appleDevices: [AppleDevice!]! - - createdAt: DateTime! - - updatedAt: DateTime! -} - -type ApplePushKey { - id: ID! - - account: Account! - - appleTeam: AppleTeam - - keyIdentifier: String! - - keyP8: String! - - createdAt: DateTime! - - updatedAt: DateTime! - - iosAppCredentialsList: [IosAppCredentials!]! -} - -enum AppleTeamType { - IN_HOUSE - - COMPANY_OR_ORGANIZATION - - INDIVIDUAL -} - -type AppleTeam { - id: ID! - - account: Account! - - appleTeamIdentifier: String! - - appleTeamName: String - - appleTeamType: AppleTeamType - - appleAppIdentifiers(bundleIdentifier: String): [AppleAppIdentifier!]! - - appleDistributionCertificates: [AppleDistributionCertificate!]! - - applePushKeys: [ApplePushKey!]! - - appleProvisioningProfiles(appleAppIdentifierId: ID): [AppleProvisioningProfile!]! - - appleDevices(offset: Int, limit: Int): [AppleDevice!]! -} - -type NotificationsSentOverTimeData { - data: LineChartData! -} - -type AppPushNotificationsInsights { - id: ID! - - notificationsSentOverTime(timespan: InsightsTimespan!): NotificationsSentOverTimeData! - - successFailureOverTime(timespan: InsightsTimespan!): NotificationsSentOverTimeData! - - totalNotificationsSent(timespan: InsightsTimespan!, filters: [JSON!] = []): Int! -} - -type AppPushNotifications { - id: ID! - - insights: AppPushNotificationsInsights! -} - -enum AppStoreConnectUserRole { - ADMIN - - FINANCE - - TECHNICAL - - ACCOUNT_HOLDER - - READ_ONLY - - SALES - - MARKETING - - APP_MANAGER - - DEVELOPER - - ACCESS_TO_REPORTS - - CUSTOMER_SUPPORT - - CREATE_APPS - - CLOUD_MANAGED_DEVELOPER_ID - - CLOUD_MANAGED_APP_DISTRIBUTION - - IMAGE_MANAGER - - UNKNOWN -} - -type AppStoreConnectApiKey { - id: ID! - - account: Account! - - appleTeam: AppleTeam - - issuerIdentifier: String! - - keyIdentifier: String! - - keyP8: String! - - name: String - - roles: [AppStoreConnectUserRole!] - - createdAt: DateTime! - - updatedAt: DateTime! -} - -enum AppPlatform { - IOS - - ANDROID -} - -enum AppPrivacy { - PUBLIC - - UNLISTED - - HIDDEN -} - -enum AppInternalDistributionBuildPrivacy { - PUBLIC - - PRIVATE -} - -type AppRelease { - id: ID! - - hash: String! - - publishedTime: DateTime! - - publishingUsername: String! - - sdkVersion: String! - - runtimeVersion: String - - version: String! - - s3Key: String! - - s3Url: String! - - manifest: JSON! -} - -type AppIcon { - url: String! - - primaryColor: String - - originalUrl: String! - - colorPalette: JSON @deprecated(reason: "No longer supported") -} - -input UpdatesFilter { - platform: AppPlatform - - runtimeVersions: [String!] - - sdkVersions: [String!] -} - -input SubmissionFilter { - platform: AppPlatform - - status: SubmissionStatus -} - -input AppWorkflowRunFilterInput { - requestedGitRef: String - - status: WorkflowRunStatus -} - -input BuildFilter { - platform: AppPlatform - - status: BuildStatus - - distribution: DistributionType - - channel: String - - appVersion: String - - appBuildVersion: String - - sdkVersion: String - - runtimeVersion: String - - fingerprintHash: String - - appIdentifier: String - - buildProfile: String - - gitCommitHash: String - - simulator: Boolean - - hasFingerprint: Boolean - - developmentClient: Boolean -} - -type AppUpdatesConnection { - pageInfo: PageInfo! - - edges: [AppUpdateEdge!]! -} - -type AppUpdateEdge { - cursor: String! - - node: Update! -} - -type AppBranchesConnection { - pageInfo: PageInfo! - - edges: [AppBranchEdge!]! -} - -type AppBranchEdge { - cursor: String! - - node: UpdateBranch! -} - -type AppChannelsConnection { - pageInfo: PageInfo! - - edges: [AppChannelEdge!]! -} - -type AppChannelEdge { - cursor: String! - - node: UpdateChannel! -} - -type AppSubmissionsConnection { - pageInfo: PageInfo! - - edges: [AppSubmissionEdge!]! -} - -type AppSubmissionEdge { - cursor: String! - - node: Submission! -} - -type AppBuildsConnection { - pageInfo: PageInfo! - - edges: [AppBuildEdge!]! -} - -type AppFingerprintsConnection { - pageInfo: PageInfo! - - edges: [AppFingerprintEdge!]! -} - -type AppBuildEdge { - cursor: String! - - node: BuildOrBuildJob! -} - -type AppFingerprintEdge { - cursor: String! - - node: Fingerprint! -} - -type AppWorkflowRunsConnection { - pageInfo: PageInfo! - - edges: [AppWorkflowRunEdge!]! -} - -type AppWorkflowRunEdge { - cursor: String! - - node: WorkflowRun! -} - -type AppWorkflowRunGitBranchesConnection { - pageInfo: PageInfo! - - edges: [AppWorkflowRunGitBranchEdge!]! -} - -type AppWorkflowRunGitBranchEdge { - cursor: String! - - node: AppWorkflowRunGitBranchNode! -} - -type AppWorkflowRunGitBranchNode { - name: String! - - lastRunAt: DateTime! -} - -input BuildFilterInput { - platforms: [AppPlatform!] - - distributions: [DistributionType!] - - releaseChannel: String - - channel: String - - developmentClient: Boolean - - simulator: Boolean - - runtimeVersion: String - - hasFingerprint: Boolean - - fingerprintHash: String -} - -input UpdateFilterInput { - runtimeVersion: String - - hasFingerprint: Boolean - - fingerprintHash: String -} - -input ChannelFilterInput { - searchTerm: String -} - -input BranchFilterInput { - searchTerm: String -} - -input WorkflowRunGitBranchFilterInput { - searchTerm: String -} - -input DeploymentFilterInput { - channel: String - - runtimeVersion: String -} - -input RuntimeFilterInput { - runtimeVersions: [String!] - - """ - Only return runtimes shared with this branch - """ - branchId: String -} - -input FingerprintFilterInput { - hashes: [String!] -} - -enum ResourceClassExperiment { - C3D - - N2 -} - -""" -Represents Play Store/App Store version of an application -""" -type AppVersion { - id: ID! - - platform: AppPlatform! - - """ - Store identifier for an application - - Android - applicationId - - iOS - bundle identifier - """ - applicationIdentifier: String! - - """ - User-facing version in a store - - Android - versionName in build.gradle ("version" field in app.json) - - iOS - CFBundleShortVersionString in Info.plist ("version" field in app.json) - """ - storeVersion: String! - - """ - Value that identifies build in a store (it's visible to developers, but not to end users) - - Android - versionCode in build.gradle ("android.versionCode" field in app.json) - - iOS - CFBundleVersion in Info.plist ("ios.buildNumber" field in app.json) - """ - buildVersion: String! - - runtimeVersion: String -} - -type Asset { - id: ID! - - fileSHA256: String! - - contentType: String! - - storageKey: String! - - fileSize: Int! - - finalFileSize: Int -} - -enum TargetEntityMutationType { - CREATE - - UPDATE - - DELETE -} - -type AuditLog { - id: ID! - - account: Account - - actor: Actor - - targetEntityId: ID! - - targetEntityTypeName: EntityTypeName! - - targetEntityTypePublicName: String! - - targetEntityMutationType: TargetEntityMutationType! - - metadata: JSONObject - - createdAt: DateTime! - - websiteMessage: String! -} - -type UserAuditLog { - id: ID! - - user: User! @deprecated(reason: "Use userActor instead") - - userActor: UserActor! - - actor: Actor! - - targetEntityId: ID! - - targetEntityTypeName: UserEntityTypeName! - - targetEntityTypePublicName: String! - - targetEntityMutationType: TargetEntityMutationType! - - metadata: JSONObject - - createdAt: DateTime! - - websiteMessage: String! - - ip: String -} - -enum BackgroundJobState { - QUEUED - - IN_PROGRESS - - SUCCESS - - FAILURE -} - -enum BackgroundJobResultType { - GITHUB_BUILD - - AUDIT_LOGS_EXPORT - - USER_AUDIT_LOGS_EXPORT - - VOID -} - -type BackgroundJobReceipt { - id: ID! - - state: BackgroundJobState! - - tries: Int! - - willRetry: Boolean! - - resultId: ID - - resultType: BackgroundJobResultType! - - resultData: JSONObject - - errorCode: String - - errorMessage: String - - account: Account! - - createdAt: DateTime! - - updatedAt: DateTime! -} - -enum BuildAnnotationType { - ERROR - - INFO - - WARNING -} - -type BuildAnnotation { - id: ID! - - buildPhase: String! - - regexString: String! - - regexFlags: String - - title: String! - - message: String! - - exampleBuildLog: String - - internalNotes: String - - authorUsername: String - - type: BuildAnnotationType! -} - -interface BuildOrBuildJob { - id: ID! -} - -""" -Publicly visible data for a Build. -""" -type BuildPublicData { - id: ID! - - status: BuildStatus! - - artifacts: PublicArtifacts! - - project: ProjectPublicData! - - platform: AppPlatform! - - distribution: DistributionType - - isForIosSimulator: Boolean! - - buildMode: BuildMode -} - -type ProjectPublicData { - id: ID! - - fullName: String! -} - -type PublicArtifacts { - buildUrl: String - - applicationArchiveUrl: String -} - -enum BuildStatus { - NEW - - IN_QUEUE - - IN_PROGRESS - - PENDING_CANCEL - - ERRORED - - FINISHED - - CANCELED -} - -enum BuildPhase { - UNKNOWN - - QUEUE - - SPIN_UP_BUILDER - - BUILDER_INFO - - READ_APP_CONFIG - - READ_PACKAGE_JSON - - RUN_EXPO_DOCTOR - - SET_UP_BUILD_ENVIRONMENT - - START_BUILD - - INSTALL_CUSTOM_TOOLS - - PREPARE_PROJECT - - RESTORE_CACHE - - INSTALL_DEPENDENCIES - - EAS_BUILD_INTERNAL - - PREBUILD - - PREPARE_CREDENTIALS - - CONFIGURE_EXPO_UPDATES - - SAVE_CACHE - - UPLOAD_APPLICATION_ARCHIVE - - UPLOAD_BUILD_ARTIFACTS - - PREPARE_ARTIFACTS - - UPLOAD_ARTIFACTS @deprecated(reason: "No longer supported") - - CLEAN_UP_CREDENTIALS - - COMPLETE_BUILD - - FAIL_BUILD - - FIX_GRADLEW - - RUN_GRADLEW - - INSTALL_PODS - - CONFIGURE_XCODE_PROJECT - - RUN_FASTLANE - - PRE_INSTALL_HOOK - - POST_INSTALL_HOOK - - PRE_UPLOAD_ARTIFACTS_HOOK - - ON_BUILD_SUCCESS_HOOK - - ON_BUILD_ERROR_HOOK - - ON_BUILD_COMPLETE_HOOK - - ON_BUILD_CANCEL_HOOK - - DOWNLOAD_APPLICATION_ARCHIVE - - PARSE_CUSTOM_WORKFLOW_CONFIG - - CUSTOM -} - -enum BuildCredentialsSource { - LOCAL - - REMOTE -} - -enum BuildMode { - BUILD - - RESIGN - - CUSTOM - - REPACK - - LOCAL -} - -enum BuildWorkflow { - GENERIC - - MANAGED - - UNKNOWN -} - -enum DistributionType { - STORE - - INTERNAL - - SIMULATOR -} - -enum BuildIosEnterpriseProvisioning { - ADHOC - - UNIVERSAL -} - -enum BuildPriority { - NORMAL - - NORMAL_PLUS - - HIGH -} - -enum BuildResourceClass { - ANDROID_DEFAULT - - ANDROID_MEDIUM - - ANDROID_LARGE - - IOS_DEFAULT - - IOS_MEDIUM - - IOS_LARGE - - LEGACY - - IOS_M1_LARGE @deprecated(reason: "Use IOS_M_MEDIUM instead") - - IOS_M1_MEDIUM @deprecated(reason: "Use IOS_M_MEDIUM instead") - - IOS_M_MEDIUM - - IOS_M_LARGE - - IOS_INTEL_MEDIUM @deprecated(reason: "No longer available. Use IOS_M_MEDIUM instead.") - - IOS_INTEL_LARGE @deprecated(reason: "No longer available. Use IOS_M_LARGE instead.") - - LINUX_MEDIUM - - LINUX_LARGE -} - -enum BuildRetryDisabledReason { - INVALID_STATUS - - ALREADY_RETRIED - - NOT_COMPLETED_YET - - IS_GITHUB_BUILD - - TOO_MUCH_TIME_ELAPSED -} - -""" -Represents an EAS Build -""" -type Build implements ActivityTimelineProjectActivity & BuildOrBuildJob { - id: ID! - - actor: Actor - - activityTimestamp: DateTime! - - parentBuild: Build - - childBuild: Build - - """ - The builder resource class requested by the developer - """ - resourceClass: BuildResourceClass! @deprecated(reason: "Use resourceClassDisplayName instead") - - """ - String describing the resource class used to run the build - """ - resourceClassDisplayName: String! - - project: Project! @deprecated(reason: "Use app field instead") - - initiatingActor: Actor - - cancelingActor: Actor - - artifacts: BuildArtifacts - - logFiles: [String!]! - - updatedAt: DateTime! - - createdAt: DateTime! - - enqueuedAt: DateTime - - provisioningStartedAt: DateTime - - workerStartedAt: DateTime - - completedAt: DateTime - - status: BuildStatus! - - expirationDate: DateTime - - platform: AppPlatform! - - appVersion: String - - appBuildVersion: String - - sdkVersion: String - - runtimeVersion: String @deprecated(reason: "Use 'runtime' field instead.") - - runtime: Runtime - - fingerprint: Fingerprint - - reactNativeVersion: String - - appIdentifier: String - - releaseChannel: String - - channel: String @deprecated(reason: "Use 'updateChannel' field instead.") - - updateChannel: UpdateChannel - - metrics: BuildMetrics - - distribution: DistributionType - - iosEnterpriseProvisioning: BuildIosEnterpriseProvisioning - - buildProfile: String - - gitCommitHash: String - - gitCommitMessage: String - - gitRef: String - - projectRootDirectory: String - - githubRepositoryOwnerAndName: String @deprecated(reason: "Use 'githubRepository' field instead") - - isGitWorkingTreeDirty: Boolean - - message: String - - projectMetadataFileUrl: String - - runFromCI: Boolean - - buildMode: BuildMode - - customWorkflowName: String - - resolvedEnvironment: EnvironmentVariableEnvironment - - developmentClient: Boolean - - requiredPackageManager: String - - selectedImage: String - - customNodeVersion: String - - error: BuildError - - submissions: [Submission!]! - - """ - Queue position is 1-indexed - """ - initialQueuePosition: Int - - """ - Queue position is 1-indexed - """ - queuePosition: Int - - estimatedWaitTimeLeftSeconds: Int - - priority: BuildPriority! - - canRetry(newMode: BuildMode): Boolean! - - retryDisabledReason(newMode: BuildMode): BuildRetryDisabledReason - - maxBuildTimeSeconds: Int! - - """ - Retry time starts after completedAt - """ - maxRetryTimeMinutes: Int - - app: App! - - isWaived: Boolean! - - isForIosSimulator: Boolean! - - deployment: Deployment - - cliVersion: String -} - -type BuildArtifacts { - buildUrl: String - - applicationArchiveUrl: String - - buildArtifactsUrl: String - - xcodeBuildLogsUrl: String - - fingerprintUrl: String @deprecated(reason: "Use 'runtime.fingerprint.debugInfoUrl' instead.") -} - -type BuildError { - errorCode: String! - - message: String! - - docsUrl: String - - buildPhase: BuildPhase -} - -type BuildMetrics { - buildWaitTime: Int - - buildQueueTime: Int - - buildDuration: Int -} - -type PageInfo { - hasPreviousPage: Boolean! - - hasNextPage: Boolean! - - startCursor: String - - endCursor: String -} - -type DeploymentInsights { - id: ID! - - uniqueUsersOverTime(timespan: InsightsTimespan!): UniqueUsersOverTimeData! - - mostPopularUpdates(timespan: InsightsTimespan!): [Update!]! - - embeddedUpdateUniqueUsersOverTime(timespan: InsightsTimespan!): UniqueUsersOverTimeData! - - embeddedUpdateTotalUniqueUsers(timespan: InsightsTimespan!): Int! - - cumulativeMetricsOverTime(timespan: InsightsTimespan!): DeploymentCumulativeMetricsOverTimeData! -} - -""" -Represents a Deployment - a set of Builds with the same Runtime Version and Channel -""" -type Deployment { - """ - Deployment query field - """ - insights: DeploymentInsights! - - id: ID! - - runtime: Runtime! - - channel: UpdateChannel! - - builds(first: Int, after: String, last: Int, before: String): DeploymentBuildsConnection! - - buildCount(statuses: [BuildStatus!]): Int! - - """ - Ordered the same way as 'updateBranches' in UpdateChannel - """ - latestUpdatesPerBranch(offset: Int!, limit: Int!): [LatestUpdateOnBranch!]! -} - -type LatestUpdateOnBranch { - branchId: String! - - update: Update -} - -""" -Represents the connection over the builds edge of a Deployment -""" -type DeploymentBuildsConnection { - pageInfo: PageInfo! - - edges: [DeploymentBuildEdge!]! -} - -type DeploymentBuildEdge { - cursor: String! - - node: Build! -} - -""" -Represents the connection over the deployments edge of an App -""" -type DeploymentsConnection { - pageInfo: PageInfo! - - edges: [DeploymentEdge!]! -} - -type DeploymentEdge { - cursor: String! - - node: Deployment! -} - -type DiscordUser { - id: ID! - - userActor: UserActor! - - discordIdentifier: String! - - metadata: DiscordUserMetadata -} - -type DiscordUserMetadata { - discordUsername: String! - - discordDiscriminator: String! - - discordAvatarUrl: String! -} - -enum EntityTypeName { - AccountEntity - - AccountSSOConfigurationEntity - - AndroidAppCredentialsEntity - - AndroidKeystoreEntity - - AppEntity - - AppStoreConnectApiKeyEntity - - AppleDeviceEntity - - AppleDistributionCertificateEntity - - AppleProvisioningProfileEntity - - AppleTeamEntity - - BranchEntity - - ChannelEntity - - CustomerEntity - - GoogleServiceAccountKeyEntity - - IosAppCredentialsEntity - - LogRocketOrganizationEntity - - LogRocketProjectEntity - - UserInvitationEntity - - UserPermissionEntity - - WorkerCustomDomainEntity - - WorkerDeploymentAliasEntity - - WorkerEntity - - WorkflowEntity - - WorkflowRevisionEntity -} - -enum UserEntityTypeName { - AccessTokenEntity - - DiscordUserEntity - - GitHubUserEntity - - PasswordEntity - - SSOUserEntity - - UserEntity - - UserPermissionEntity - - UserSecondFactorBackupCodesEntity - - UserSecondFactorDeviceEntity -} - -type EnvironmentSecret { - id: ID! - - name: String! - - type: EnvironmentSecretType! - - createdAt: DateTime! - - updatedAt: DateTime! -} - -enum EnvironmentSecretType { - STRING - - FILE_BASE64 -} - -enum EnvironmentVariableEnvironment { - PRODUCTION - - PREVIEW - - DEVELOPMENT -} - -enum EnvironmentVariableScope { - PROJECT - - SHARED -} - -enum EnvironmentVariableVisibility { - PUBLIC - - SENSITIVE - - SECRET -} - -type EnvironmentVariable { - id: ID! - - name: String! - - value(includeFileContent: Boolean): String - - environments: [EnvironmentVariableEnvironment!] - - linkedEnvironments(appFullName: String, appId: String): [EnvironmentVariableEnvironment!] - - createdAt: DateTime! - - updatedAt: DateTime! - - scope: EnvironmentVariableScope! - - visibility: EnvironmentVariableVisibility - - type: EnvironmentSecretType! - - isGlobal: Boolean - - fileName: String - - apps: [App!]! -} - -type EnvironmentVariableWithSecret { - id: ID! - - name: String! - - value(includeFileContent: Boolean): String - - environments: [EnvironmentVariableEnvironment!] - - linkedEnvironments(appFullName: String, appId: String): [EnvironmentVariableEnvironment!] - - createdAt: DateTime! - - updatedAt: DateTime! - - scope: EnvironmentVariableScope! - - sensitive: Boolean! - - visibility: EnvironmentVariableVisibility! - - type: EnvironmentSecretType! - - isGlobal: Boolean! - - fileName: String - - apps: [App!]! -} - -input FingerprintBuildsFilterInput { - platforms: [AppPlatform!] - - distributions: [DistributionType!] - - releaseChannel: String - - channel: String - - developmentClient: Boolean - - simulator: Boolean -} - -type FingerprintSource { - type: FingerprintSourceType! - - bucketKey: String! - - isDebugFingerprint: Boolean -} - -type Fingerprint { - id: ID! - - app: App! - - hash: String! - - debugInfoUrl: String - - source: FingerprintSource - - builds(first: Int, after: String, last: Int, before: String, filter: FingerprintBuildsFilterInput): AppBuildsConnection! - - updates(first: Int, after: String, last: Int, before: String): AppUpdatesConnection! - - buildCount: Int! - - updateCount: Int! - - createdAt: DateTime! - - updatedAt: DateTime! -} - -enum GitHubAppInstallationStatus { - ACTIVE - - SUSPENDED - - NOT_INSTALLED -} - -enum GitHubAppInstallationAccountType { - USER - - ORGANIZATION -} - -type GitHubAppInstallationMetadata { - """ - The login of the GitHub account that owns the installation. Not the display name. - """ - githubAccountName: String - - githubAccountAvatarUrl: String - - githubAccountType: GitHubAppInstallationAccountType - - installationStatus: GitHubAppInstallationStatus! -} - -type GitHubAppInstallation { - id: ID! - - """ - The Expo account that owns the installation entity. - """ - account: Account! - - actor: Actor - - installationIdentifier: Int! - - metadata: GitHubAppInstallationMetadata! -} - -enum GitHubBuildTriggerType { - PUSH_TO_BRANCH - - PULL_REQUEST_UPDATED - - TAG_UPDATED -} - -enum GitHubBuildTriggerRunStatus { - SUCCESS - - ERRORED -} - -enum GitHubBuildTriggerExecutionBehavior { - BASE_DIRECTORY_CHANGED - - ALWAYS -} - -type GitHubBuildTrigger { - id: ID! - - app: App! - - type: GitHubBuildTriggerType! - - isActive: Boolean! - - sourcePattern: String! - - targetPattern: String - - buildProfile: String! - - platform: AppPlatform! - - autoSubmit: Boolean! - - submitProfile: String - - environment: EnvironmentVariableEnvironment - - executionBehavior: GitHubBuildTriggerExecutionBehavior! - - lastRunAt: DateTime - - lastRunStatus: GitHubBuildTriggerRunStatus - - lastRunErrorMessage: String - - lastRunErrorCode: String - - lastRunBuild: Build - - createdAt: DateTime! - - updatedAt: DateTime! -} - -enum GitHubJobRunTriggerType { - PUSH_TO_BRANCH - - PULL_REQUEST_UPDATED -} - -enum GitHubJobRunJobType { - PUBLISH_UPDATE -} - -enum GitHubJobRunTriggerRunStatus { - SUCCESS - - ERRORED -} - -type GitHubJobRunTrigger { - id: ID! - - app: App! - - isActive: Boolean! - - jobType: GitHubJobRunJobType - - triggerType: GitHubJobRunTriggerType! - - sourcePattern: String! - - targetPattern: String - - lastRunAt: DateTime - - lastRunStatus: GitHubJobRunTriggerRunStatus - - lastRunErrorMessage: String - - lastRunErrorCode: String - - createdAt: DateTime! -} - -type GitHubRepositorySettings { - id: ID! - - app: App! - - baseDirectory: String! -} - -type GitHubRepository { - id: ID! - - githubRepositoryIdentifier: Int! - - nodeIdentifier: String! - - app: App! - - githubAppInstallation: GitHubAppInstallation! - - githubRepositoryUrl: String - - metadata: GitHubRepositoryMetadata! - - createdAt: DateTime! -} - -type GitHubRepositoryMetadata { - githubRepoOwnerName: String! - - githubRepoName: String! - - githubRepoDescription: String - - defaultBranch: String - - githubRepoUrl: String! - - private: Boolean! - - lastUpdated: DateTime! - - lastPushed: DateTime! -} - -type GitHubUserMetadata { - login: String! - - avatarUrl: String! - - url: String! - - name: String -} - -type GitHubUser { - id: ID! - - userActor: UserActor! - - githubUserIdentifier: String! - - metadata: GitHubUserMetadata -} - -type GoogleServiceAccountKey { - id: ID! - - account: Account! - - projectIdentifier: String! - - privateKeyIdentifier: String! - - clientEmail: String! - - clientIdentifier: String! - - keyJson: String! - - createdAt: DateTime! - - updatedAt: DateTime! -} - -enum InvoiceDiscountType { - PERCENTAGE - - AMOUNT -} - -type InvoiceDiscount { - id: ID! - - name: String! - - type: InvoiceDiscountType! - - duration: String! - - durationInMonths: Int - - """ - The coupon's discount value, in percentage or in dollar amount - """ - amount: Int! -} - -type InvoicePeriod { - start: DateTime! - - end: DateTime! -} - -type InvoiceLineItemPlan { - id: ID! - - name: String -} - -type StripePrice { - id: ID! -} - -type InvoiceLineItem { - id: ID! - - description: String! - - """ - Line-item amount in cents - """ - amount: Int! - - period: InvoicePeriod! - - proration: Boolean! - - quantity: Int! - - plan: InvoiceLineItemPlan! @deprecated(reason: "Use 'price' instead") - - price: StripePrice - - """ - The unit amount excluding tax, in cents - """ - unitAmountExcludingTax: Float - - metadata: JSONObject! -} - -type Invoice { - id: ID! - - """ - The total amount due for the invoice, in cents - """ - amountDue: Int! - - """ - The total amount that has been paid, considering any discounts or account credit. Value is in cents. - """ - amountPaid: Int! - - """ - The total amount that needs to be paid, considering any discounts or account credit. Value is in cents. - """ - amountRemaining: Int! - - discount: InvoiceDiscount - - totalDiscountedAmount: Int! - - lineItems: [InvoiceLineItem!]! - - period: InvoicePeriod! - - startingBalance: Int! - - subtotal: Int! - - total: Int! -} - -enum IosDistributionType { - APP_STORE - - ENTERPRISE - - AD_HOC - - DEVELOPMENT -} - -input IosAppBuildCredentialsFilter { - iosDistributionType: IosDistributionType -} - -type IosAppBuildCredentials { - id: ID! - - distributionCertificate: AppleDistributionCertificate - - provisioningProfile: AppleProvisioningProfile - - iosDistributionType: IosDistributionType! - - iosAppCredentials: IosAppCredentials! - - appleDevices: [AppleDevice] @deprecated(reason: "Get Apple Devices from AppleProvisioningProfile instead") -} - -input IosAppCredentialsFilter { - appleAppIdentifierId: String -} - -type IosAppCredentials { - id: ID! - - app: App! - - appleTeam: AppleTeam - - appleAppIdentifier: AppleAppIdentifier! - - iosAppBuildCredentialsList(filter: IosAppBuildCredentialsFilter): [IosAppBuildCredentials!]! - - pushKey: ApplePushKey - - appStoreConnectApiKeyForSubmissions: AppStoreConnectApiKey - - appStoreConnectApiKeyForBuilds: AppStoreConnectApiKey - - iosAppBuildCredentialsArray(filter: IosAppBuildCredentialsFilter): [IosAppBuildCredentials!]! @deprecated(reason: "use iosAppBuildCredentialsList instead") -} - -enum JobRunStatus { - NEW - - IN_QUEUE - - IN_PROGRESS - - PENDING_CANCEL - - ERRORED - - FINISHED - - CANCELED -} - -enum JobRunPriority { - NORMAL - - HIGH -} - -type JobRunError { - errorCode: String! - - message: String! - - docsUrl: String - - buildPhase: String -} - -""" -Represents a Turtle Job Run -""" -type JobRun { - id: ID! - - app: App! - - initiatingActor: Actor - - priority: JobRunPriority! - - status: JobRunStatus! - - displayName: String - - updateGroups: [[Update!]!]! - - artifacts: [WorkflowArtifact!]! - - logFileUrls: [String!]! - - startedAt: DateTime - - endedAt: DateTime - - gitCommitHash: String - - gitRef: String - - gitCommitMessage: String - - isWaived: Boolean! - - childJobRun: JobRun @deprecated(reason: "No longer supported") - - createdAt: DateTime! - - expiresAt: DateTime! - - name: String! - - errors: [JobRunError!]! -} - -type KeystoreGenerationUrl { - id: ID! - - url: String! -} - -type LogRocketOrganization { - id: ID! - - orgSlug: String! - - orgName: String! - - createdAt: DateTime! - - account: Account! -} - -type LogRocketProject { - id: ID! - - logRocketProjectSlug: String! - - logRocketOrgId: ID! - - createdAt: DateTime! - - updatedAt: DateTime! - - app: App! -} - -type NotificationSubscription { - id: ID! - - type: NotificationType! - - event: NotificationEvent! - - actor: Actor - - app: App - - account: Account - - createdAt: DateTime! -} - -enum NotificationType { - EMAIL - - WEB -} - -enum NotificationEvent { - BUILD_COMPLETE - - BUILD_ERRORED - - SUBMISSION_COMPLETE - - SUBMISSION_ERRORED - - BUILD_PLAN_CREDIT_THRESHOLD_EXCEEDED - - BUILD_LIMIT_THRESHOLD_EXCEEDED - - TEST -} - -input NotificationSubscriptionFilter { - type: NotificationType - - event: NotificationEvent - - accountId: ID - - appId: ID -} - -enum BuildLimitThresholdExceededMetadataType { - TOTAL - - IOS -} - -type NotificationThresholdExceeded { - type: BuildLimitThresholdExceededMetadataType! - - count: Int! - - limit: Int! - - threshold: Int! -} - -type BuildLimitThresholdExceededMetadata { - account: Account! - - thresholdsExceeded: [NotificationThresholdExceeded!]! -} - -type BuildPlanCreditThresholdExceededMetadata { - account: Account! - - buildCreditUsage: Int! - - planLimit: Int! - - threshold: Int! -} - -type TestNotificationMetadata { - message: String! -} - -union NotificationMetadata = BuildLimitThresholdExceededMetadata|BuildPlanCreditThresholdExceededMetadata|TestNotificationMetadata - -type Notification { - id: ID! - - type: NotificationType! - - event: NotificationEvent! - - createdAt: DateTime! - - updatedAt: DateTime! - - metadata: NotificationMetadata - - isRead: Boolean! - - accountName: String! - - websiteMessage: String! -} - -type PendingSentryInstallation { - id: ID! - - orgSlug: String! - - installationId: String! - - createdAt: DateTime! - - account: Account! -} - -interface Project { - id: ID! - - name: String! - - fullName: String! - - description: String! - - slug: String! - - updated: DateTime! - - published: Boolean! - - username: String! - - iconUrl: String @deprecated(reason: "No longer supported") -} - -""" -Represents a robot (not human) actor. -""" -type Robot implements Actor { - id: ID! - - firstName: String - - created: DateTime! - - isExpoAdmin: Boolean! - - displayName: String! - - lastDeletionAttemptTime: DateTime - - isManagedByGitHubApp: Boolean! - - """ - Associated accounts - """ - accounts: [Account!]! - - """ - Access Tokens belonging to this actor - """ - accessTokens: [AccessToken!]! - - """ - Server feature gate values for this actor, optionally filtering by desired gates. - Only resolves for the viewer. - """ - featureGates(filter: [String!]): JSONObject! - - """ - Experiments associated with this actor - """ - experiments: [ActorExperiment!]! - - """ - GitHub App Installations that manage this actor - """ - githubAppInstallations: [GitHubAppInstallation!]! -} - -input RuntimeDeploymentsFilterInput { - channel: String -} - -input RuntimeBuildsFilterInput { - platforms: [AppPlatform!] - - distributions: [DistributionType!] - - releaseChannel: String - - channel: String - - developmentClient: Boolean - - simulator: Boolean -} - -type Runtime { - id: ID! - - app: App! - - version: String! - - firstBuildCreatedAt: DateTime - - fingerprint: Fingerprint - - isFingerprint: Boolean! - - createdAt: DateTime! - - updatedAt: DateTime! - - deployments(first: Int, after: String, last: Int, before: String, filter: RuntimeDeploymentsFilterInput): DeploymentsConnection! - - updates(first: Int, after: String, last: Int, before: String): AppUpdatesConnection! - - builds(first: Int, after: String, last: Int, before: String, filter: RuntimeBuildsFilterInput): AppBuildsConnection! -} - -""" -Represents the connection over the runtime edge of an App -""" -type RuntimesConnection { - pageInfo: PageInfo! - - edges: [RuntimeEdge!]! -} - -type RuntimeEdge { - cursor: String! - - node: Runtime! -} - -type SentryInstallation { - id: ID! - - orgSlug: String! - - installationId: String! - - createdAt: DateTime! - - account: Account! -} - -type SentryProject { - id: ID! - - sentryProjectSlug: String! - - sentryProjectId: String! - - sentryInstallationId: ID! - - createdAt: DateTime! - - updatedAt: DateTime! - - app: App! -} - -type Snack implements Project { - id: ID! - - hashId: String! - - """ - Name of the Snack, e.g. "My Snack" - """ - name: String! - - """ - Full name of the Snack, e.g. "@john/mysnack", "@snack/245631" - """ - fullName: String! - - """ - Description of the Snack - """ - description: String! - - iconUrl: String @deprecated(reason: "No longer supported") - - """ - Slug name, e.g. "mysnack", "245631" - """ - slug: String! - - """ - Name of the user that created the Snack, or "snack" when the Snack was saved anonymously - """ - username: String! - - """ - Date and time the Snack was last updated - """ - updated: DateTime! - - published: Boolean! - - """ - Preview image of the running snack - """ - previewImage: String - - """ - Has the Snack been run without errors - """ - hasBeenRunSuccessfully: Boolean - - """ - Draft status, which is true when the Snack was not saved explicitly, but auto-saved - """ - isDraft: Boolean! - - """ - SDK version of the snack - """ - sdkVersion: String! -} - -""" -Represents a human SSO (not robot) actor. -""" -type SSOUser implements Actor & UserActor { - id: ID! - - username: String! - - firstName: String - - lastName: String - - fullName: String - - profilePhoto: String! - - created: DateTime! - - appCount: Int! - - isExpoAdmin: Boolean! - - displayName: String! - - bestContactEmail: String - - lastDeletionAttemptTime: DateTime - - """ - Associated accounts - """ - primaryAccount: Account! - - accounts: [Account!]! - - primaryAccountProfileImageUrl: String - - """ - Access Tokens belonging to this actor, none at present - """ - accessTokens: [AccessToken!]! - - """ - Snacks associated with this account - """ - snacks(offset: Int!, limit: Int!): [Snack!]! - - """ - Apps this user has published. If this user is the viewer, this field returns the apps the user has access to. - """ - apps(offset: Int!, limit: Int!, includeUnpublished: Boolean): [App!]! - - """ - Coalesced project activity for all apps belonging to all accounts this user belongs to. Only resolves for the viewer. - """ - activityTimelineProjectActivities(limit: Int!, " Offset the query " createdBefore: DateTime, " Types of objects to filter " filterTypes: [ActivityTimelineProjectActivityType!]): [ActivityTimelineProjectActivity!]! - - pinnedApps: [App!]! - - """ - Server feature gate values for this actor, optionally filtering by desired gates. - Only resolves for the viewer. - """ - featureGates(filter: [String!]): JSONObject! - - notificationSubscriptions(filter: NotificationSubscriptionFilter): [NotificationSubscription!]! - - """ - Discord account linked to a user - """ - discordUser: DiscordUser - - """ - GitHub account linked to a user - """ - githubUser: GitHubUser - - """ - Experiments associated with this actor - """ - experiments: [ActorExperiment!]! - - websiteNotificationsPaginated(first: Int, after: String, last: Int, before: String): WebsiteNotificationsConnection! - - industry: String @deprecated(reason: "No longer supported") - - location: String @deprecated(reason: "No longer supported") - - githubUsername: String @deprecated(reason: "No longer supported") - - twitterUsername: String @deprecated(reason: "No longer supported") - - appetizeCode: String @deprecated(reason: "No longer supported") - - preferences: UserPreferences! -} - -""" -Possible Incident statuses from Expo status page API. -""" -enum StatuspageIncidentStatus { - INVESTIGATING - - IDENTIFIED - - MONITORING - - RESOLVED - - SCHEDULED - - IN_PROGRESS - - VERIFYING - - COMPLETED -} - -""" -Possible Incident impact values from Expo status page API. -""" -enum StatuspageIncidentImpact { - NONE - - MAINTENANCE - - MINOR - - MAJOR - - CRITICAL -} - -""" -Incident for a given component from Expo status page API. -""" -type StatuspageIncident { - id: ID! - - name: String! - - createdAt: DateTime! - - updatedAt: DateTime! - - resolvedAt: DateTime - - """ - Current status of an incident from Expo status page. - """ - status: StatuspageIncidentStatus! - - """ - Impact of an incident from Expo status page. - """ - impact: StatuspageIncidentImpact! - - """ - Shortlink to the incident from Expo status page. - """ - shortlink: String! - - """ - List of all updates for an incident from Expo status page. - """ - updates: [StatuspageIncidentUpdate!]! -} - -""" -Update for an Incident from Expo status page API. -""" -type StatuspageIncidentUpdate { - id: ID! - - createdAt: DateTime! - - """ - Status set at the moment of update. - """ - status: StatuspageIncidentStatus! - - """ - Text of an update from Expo status page. - """ - body: String! -} - -""" -Name of a service monitored by Expo status page. -""" -enum StatuspageServiceName { - EAS_BUILD - - EAS_SUBMIT - - EAS_UPDATE - - EAS_WORKFLOWS - - GITHUB_API_REQUESTS - - GITHUB_WEBHOOKS -} - -""" -Possible statuses for a service. -""" -enum StatuspageServiceStatus { - OPERATIONAL - - UNDER_MAINTENANCE - - DEGRADED_PERFORMANCE - - PARTIAL_OUTAGE - - MAJOR_OUTAGE -} - -""" -Service monitored by Expo status page. -""" -type StatuspageService { - id: ID! - - """ - Name of a service monitored by Expo status page. - """ - name: StatuspageServiceName! - - """ - Description of a service from Expo status page. - """ - description: String - - """ - Current status of a service from Expo status page. - """ - status: StatuspageServiceStatus! - - """ - List of last inicdents for a service from Expo status page (we always query for 50 latest incidents for all services) - sorted by createdAt field in descending order. - """ - incidents: [StatuspageIncident!]! -} - -enum SubmissionStatus { - AWAITING_BUILD - - IN_QUEUE - - IN_PROGRESS - - FINISHED - - ERRORED - - CANCELED -} - -enum SubmissionAndroidArchiveType { - APK - - AAB -} - -enum SubmissionAndroidTrack { - PRODUCTION - - INTERNAL - - ALPHA - - BETA -} - -enum SubmissionAndroidReleaseStatus { - DRAFT - - IN_PROGRESS - - HALTED - - COMPLETED -} - -enum SubmissionPriority { - NORMAL - - HIGH -} - -""" -Represents an EAS Submission -""" -type Submission implements ActivityTimelineProjectActivity { - id: ID! - - actor: Actor - - activityTimestamp: DateTime! - - parentSubmission: Submission - - childSubmission: Submission - - app: App! - - initiatingActor: Actor - - cancelingActor: Actor - - submittedBuild: Build - - platform: AppPlatform! - - status: SubmissionStatus! - - androidConfig: AndroidSubmissionConfig - - iosConfig: IosSubmissionConfig - - archiveUrl: String - - logsUrl: String @deprecated(reason: "Use logFiles instead") - - logFiles: [String!]! - - error: SubmissionError - - canRetry: Boolean! - - """ - Retry time starts after completedAt - """ - maxRetryTimeMinutes: Int! - - createdAt: DateTime! - - updatedAt: DateTime! - - completedAt: DateTime - - priority: SubmissionPriority -} - -type SubmissionError { - errorCode: String - - message: String -} - -type IosSubmissionConfig { - ascAppIdentifier: String! - - appleIdUsername: String - - ascApiKeyId: String -} - -type AndroidSubmissionConfig { - applicationIdentifier: String @deprecated(reason: "applicationIdentifier is deprecated and will be auto-detected on submit") - - archiveType: SubmissionAndroidArchiveType @deprecated(reason: "archiveType is deprecated and will be null") - - track: SubmissionAndroidTrack! - - releaseStatus: SubmissionAndroidReleaseStatus - - rollout: Float -} - -type TimelineActivityConnection { - pageInfo: PageInfo! - - edges: [TimelineActivityEdge!]! -} - -type TimelineActivityEdge { - cursor: String! - - node: ActivityTimelineProjectActivity! -} - -input TimelineActivityFilterInput { - types: [ActivityTimelineProjectActivityType!] - - platforms: [AppPlatform!] - - releaseChannels: [String!] - - channels: [String!] -} - -type UpdateBranch { - id: ID! - - appId: ID! - - name: String! - - createdAt: DateTime! - - updatedAt: DateTime! - - latestActivity: DateTime! - - updates(offset: Int!, limit: Int!, filter: UpdatesFilter): [Update!]! - - updateGroups(offset: Int!, limit: Int!, filter: UpdatesFilter): [[Update!]!]! - - runtimes(first: Int, after: String, last: Int, before: String, filter: RuntimeFilterInput): RuntimesConnection! - - app: App! -} - -type UpdateChannel { - id: ID! - - appId: ID! - - name: String! - - branchMapping: String! - - isPaused: Boolean! - - createdAt: DateTime! - - updatedAt: DateTime! - - updateBranches(offset: Int!, limit: Int!): [UpdateBranch!]! - - app: App! -} - -type UpdateInsights { - id: ID! - - totalUniqueUsers(timespan: InsightsTimespan!): Int! - - cumulativeMetrics(timespan: InsightsTimespan!): CumulativeMetrics! - - averageAssetMetrics: [AverageAssetMetrics!]! - - cumulativeAverageMetrics: CumulativeAverageMetrics! -} - -type AverageAssetMetrics { - averageDownloadSizeBytes: Int! - - count: Int! - - storageKey: String! -} - -type CumulativeAverageMetrics { - averageUpdatePayloadBytes: Int! - - launchAssetCount: Int! -} - -type CumulativeMetricsTotals { - totalInstalls: Int! - - totalFailedInstalls: Int! -} - -type CumulativeMetrics { - metricsAtLastTimestamp: CumulativeMetricsTotals! - - data: UpdatesMetricsData! -} - -type UpdatesMetricsData { - labels: [String!]! - - installsDataset: CumulativeUpdatesDataset! - - failedInstallsDataset: CumulativeUpdatesDataset! -} - -type CumulativeUpdatesDataset { - id: String! - - label: String! - - cumulative: [Int!]! - - difference: [Int!]! -} - -type Update implements ActivityTimelineProjectActivity { - """ - Update query field - """ - insights: UpdateInsights! - - id: ID! - - actor: Actor - - activityTimestamp: DateTime! - - branchId: ID! - - platform: String! - - manifestFragment: String! - - isRollBackToEmbedded: Boolean! - - codeSigningInfo: CodeSigningInfo - - awaitingCodeSigningInfo: Boolean! - - runtimeVersion: String! @deprecated(reason: "Use 'runtime' field .") - - runtime: Runtime! - - fingerprint: Fingerprint - - expoGoSDKVersion: String - - group: String! - - updatedAt: DateTime! - - createdAt: DateTime! - - message: String - - gitCommitHash: String - - isGitWorkingTreeDirty: Boolean! - - branch: UpdateBranch! - - manifestPermalink: String! - - app: App! - - jobRun: JobRun - - rolloutPercentage: Int - - rolloutControlUpdate: Update - - environment: EnvironmentVariableEnvironment - - deployments(first: Int, after: String, last: Int, before: String): DeploymentResult! - - assetMapUrl: String - - manifestHostOverride: String - - assetHostOverride: String -} - -type CodeSigningInfo { - keyid: String! - - sig: String! - - alg: String! -} - -type UpdateDeploymentsConnection { - pageInfo: PageInfo! - - edges: [UpdateDeploymentEdge!]! -} - -type UpdateDeploymentEdge { - cursor: String! - - node: Deployment! -} - -type DeploymentResult { - success: Boolean! - - data: UpdateDeploymentsConnection - - error: String -} - -input UsageMetricsTimespan { - start: DateTime! - - end: DateTime! -} - -enum UsageMetricsGranularity { - MINUTE - - HOUR - - DAY - - TOTAL -} - -enum EASService { - BUILDS - - JOBS - - UPDATES -} - -enum EASServiceMetric { - ASSETS_REQUESTS - - BANDWIDTH_USAGE - - MANIFEST_REQUESTS - - UNIQUE_UPDATERS - - UNIQUE_USERS - - BUILDS - - LOCAL_BUILDS - - RUN_TIME -} - -enum UsageMetricType { - BANDWIDTH - - REQUEST - - UPDATE - - USER - - BUILD - - MINUTE -} - -enum EASBuildBillingResourceClass { - LARGE - - MEDIUM -} - -enum EASBuildWaiverType { - SYSTEM_ERROR - - FAST_FAILED_BUILD -} - -type AccountUsageEASBuildMetadata { - platform: AppPlatform - - billingResourceClass: EASBuildBillingResourceClass - - waiverType: EASBuildWaiverType -} - -union AccountUsageMetadata = AccountUsageEASBuildMetadata - -type AccountUsageMetric { - id: ID! - - timestamp: DateTime! - - serviceMetric: EASServiceMetric! - - metricType: UsageMetricType! - - value: Float! -} - -type AppUsageMetric { - id: ID! - - timestamp: DateTime! - - serviceMetric: EASServiceMetric! - - metricType: UsageMetricType! - - value: Float! -} - -type EstimatedUsage { - id: ID! - - service: EASService! - - serviceMetric: EASServiceMetric! - - metricType: UsageMetricType! - - value: Float! - - limit: Float! -} - -type EstimatedOverageAndCost { - id: ID! - - service: EASService! - - serviceMetric: EASServiceMetric! - - metricType: UsageMetricType! - - value: Float! - - """ - Total cost of this particular metric, in cents - """ - totalCost: Int! - - """ - The limit, in units, allowed by this plan - """ - limit: Float! - - metadata: AccountUsageMetadata -} - -type UsageMetricTotal { - id: ID! - - """ - Total cost of overages, in cents - """ - totalCost: Float! - - planMetrics: [EstimatedUsage!]! - - overageMetrics: [EstimatedOverageAndCost!]! - - billingPeriod: BillingPeriod! -} - -type AppUsageMetricTotal { - id: ID! - - """ - Total cost of overages, in cents - """ - totalCost: Float! - - planMetrics: [EstimatedUsage!]! - - billingPeriod: BillingPeriod! -} - -type AccountUsageMetrics { - metricsForServiceMetric(serviceMetric: EASServiceMetric!, granularity: UsageMetricsGranularity!, timespan: UsageMetricsTimespan!, filterParams: JSONObject): [AccountUsageMetric!]! - - byBillingPeriod(date: DateTime!, service: EASService): UsageMetricTotal! -} - -type AppUsageMetrics { - metricsForServiceMetric(serviceMetric: EASServiceMetric!, granularity: UsageMetricsGranularity!, timespan: UsageMetricsTimespan!, filterParams: JSONObject): [AppUsageMetric!]! - - byBillingPeriod(date: DateTime!, service: EASService): AppUsageMetricTotal! -} - -""" -A human user (type User or SSOUser) that can login to the Expo website, use Expo services, and be a member of accounts. -""" -type UserActorPublicData { - id: ID! - - username: String! - - firstName: String - - lastName: String - - profilePhoto: String! - - """ - Snacks associated with this user's personal account - """ - snacks(offset: Int!, limit: Int!): [Snack!]! -} - -""" -A human user (type User or SSOUser) that can login to the Expo website, use Expo services, and be a member of accounts. -""" -interface UserActor implements Actor { - id: ID! - - username: String! - - firstName: String - - lastName: String - - fullName: String - - profilePhoto: String! - - created: DateTime! - - appCount: Int! - - isExpoAdmin: Boolean! - - bestContactEmail: String - - lastDeletionAttemptTime: DateTime - - """ - Best-effort human readable name for this human actor for use in user interfaces during action attribution. - For example, when displaying a sentence indicating that actor X created a build or published an update. - """ - displayName: String! - - pinnedApps: [App!]! - - """ - Associated accounts - """ - primaryAccount: Account! - - accounts: [Account!]! - - primaryAccountProfileImageUrl: String - - """ - Access Tokens belonging to this user actor - """ - accessTokens: [AccessToken!]! - - """ - Snacks associated with this user's personal account - """ - snacks(offset: Int!, limit: Int!): [Snack!]! - - """ - Apps this user has published - """ - apps(offset: Int!, limit: Int!, includeUnpublished: Boolean): [App!]! - - """ - Coalesced project activity for all apps belonging to all accounts this user actor belongs to. - Only resolves for the viewer. - """ - activityTimelineProjectActivities(limit: Int!, " Offset the query " createdBefore: DateTime, " Types of objects to filter " filterTypes: [ActivityTimelineProjectActivityType!]): [ActivityTimelineProjectActivity!]! - - """ - Server feature gate values for this user actor, optionally filtering by desired gates. - Only resolves for the viewer. - """ - featureGates(filter: [String!]): JSONObject! - - notificationSubscriptions(filter: NotificationSubscriptionFilter): [NotificationSubscription!]! - - """ - Discord account linked to a user - """ - discordUser: DiscordUser - - """ - GitHub account linked to a user - """ - githubUser: GitHubUser - - """ - Experiments associated with this actor - """ - experiments: [ActorExperiment!]! - - websiteNotificationsPaginated(first: Int, after: String, last: Int, before: String): WebsiteNotificationsConnection! - - industry: String @deprecated(reason: "No longer supported") - - location: String @deprecated(reason: "No longer supported") - - githubUsername: String @deprecated(reason: "No longer supported") - - twitterUsername: String @deprecated(reason: "No longer supported") - - appetizeCode: String @deprecated(reason: "No longer supported") - - preferences: UserPreferences! -} - -""" -Publicly visible data for a UserInvitation. -""" -type UserInvitationPublicData { - """ - Email to which this invitation was sent - """ - id: ID! - - email: String! - - created: DateTime! - - expires: DateTime! - - accountName: String! - - isForOrganization: Boolean! - - accountProfilePhoto: String - - accountProfileImageUrl: String! -} - -""" -An pending invitation sent to an email granting membership on an Account. -""" -type UserInvitation { - id: ID! - - """ - Email to which this invitation was sent - """ - email: String! - - created: DateTime! - - expires: DateTime! - - accountName: String! - - """ - If the invite is for an organization or a personal team - """ - isForOrganization: Boolean! - - """ - If the invite is for a personal team, the profile photo of account owner - """ - accountProfilePhoto: String @deprecated(reason: "Use accountProfileImageUrl") - - """ - The profile image URL of the account owner - """ - accountProfileImageUrl: String! - - """ - Account permissions to be granted upon acceptance of this invitation - """ - permissions: [Permission!]! - - """ - Role to be granted upon acceptance of this invitation - """ - role: Role! -} - -enum Permission { - OWN - - ADMIN - - PUBLISH - - VIEW -} - -enum Role { - OWNER - - ADMIN - - DEVELOPER - - VIEW_ONLY - - CUSTOM - - HAS_ADMIN - - NOT_ADMIN -} - -type UserPermission { - permissions: [Permission!]! - - role: Role! - - user: User @deprecated(reason: "User type is deprecated") - - actor: Actor! - - userActor: UserActor -} - -enum OnboardingDeviceType { - DEVICE - - SIMULATOR -} - -enum OnboardingEnvironment { - EXPO_GO - - DEV_BUILD -} - -""" -Set by website. Used by CLI to continue onboarding process on user's machine - clone repository, -install dependencies etc. -""" -type UserPreferencesOnboarding { - appId: ID! - - """ - The last time when this object was updated. - """ - lastUsed: String! - - """ - Can be null if the user has not selected one yet. - """ - deviceType: OnboardingDeviceType - - """ - Can be null if the user has not selected one yet. - """ - environment: OnboardingEnvironment - - """ - User selects a platform for which they want to build the app. CLI uses this information to start the build. - """ - platform: AppPlatform - - """ - Set by CLI when the user has completed that phase. Used by the website to determine when - the next step can be shown. - """ - isCLIDone: Boolean -} - -type UserPreferences { - selectedAccountName: String - - onboarding: UserPreferencesOnboarding -} - -enum SecondFactorMethod { - """ - Google Authenticator (TOTP) - """ - AUTHENTICATOR - - """ - SMS - """ - SMS -} - -""" -A second factor device belonging to a User -""" -type UserSecondFactorDevice { - id: ID! - - user: User! - - name: String! - - isCertified: Boolean! - - isPrimary: Boolean! - - smsPhoneNumber: String - - method: SecondFactorMethod! - - createdAt: DateTime! - - updatedAt: DateTime! -} - -""" -Represents a human (not robot) actor. -""" -type User implements Actor & UserActor { - id: ID! - - username: String! - - email: String! - - firstName: String - - lastName: String - - fullName: String - - profilePhoto: String! - - created: DateTime! - - appCount: Int! - - emailVerified: Boolean! - - isExpoAdmin: Boolean! - - displayName: String! - - bestContactEmail: String - - isSecondFactorAuthenticationEnabled: Boolean! - - lastDeletionAttemptTime: DateTime - - """ - Get all certified second factor authentication methods - """ - secondFactorDevices: [UserSecondFactorDevice!]! - - """ - Associated accounts - """ - primaryAccount: Account! - - accounts: [Account!]! - - primaryAccountProfileImageUrl: String - - """ - Access Tokens belonging to this actor - """ - accessTokens: [AccessToken!]! - - """ - Snacks associated with this account - """ - snacks(offset: Int!, limit: Int!): [Snack!]! - - """ - Apps this user has published - """ - apps(offset: Int!, limit: Int!, includeUnpublished: Boolean): [App!]! - - """ - Whether this user has any pending user invitations. Only resolves for the viewer. - """ - hasPendingUserInvitations: Boolean! - - """ - Pending UserInvitations for this user. Only resolves for the viewer. - """ - pendingUserInvitations: [UserInvitation!]! - - """ - Coalesced project activity for all apps belonging to all accounts this user belongs to. Only resolves for the viewer. - """ - activityTimelineProjectActivities(limit: Int!, " Offset the query " createdBefore: DateTime, " Types of objects to filter " filterTypes: [ActivityTimelineProjectActivityType!]): [ActivityTimelineProjectActivity!]! - - pinnedApps: [App!]! - - """ - Server feature gate values for this actor, optionally filtering by desired gates. - Only resolves for the viewer. - """ - featureGates(filter: [String!]): JSONObject! - - notificationSubscriptions(filter: NotificationSubscriptionFilter): [NotificationSubscription!]! - - """ - Discord account linked to a user - """ - discordUser: DiscordUser - - """ - GitHub account linked to a user - """ - githubUser: GitHubUser - - """ - Experiments associated with this actor - """ - experiments: [ActorExperiment!]! - - websiteNotificationsPaginated(first: Int, after: String, last: Int, before: String): WebsiteNotificationsConnection! - - isLegacy: Boolean! @deprecated(reason: "No longer supported") - - industry: String @deprecated(reason: "No longer supported") - - location: String @deprecated(reason: "No longer supported") - - githubUsername: String @deprecated(reason: "No longer supported") - - twitterUsername: String @deprecated(reason: "No longer supported") - - appetizeCode: String @deprecated(reason: "No longer supported") - - preferences: UserPreferences! -} - -type WebsiteNotificationsConnection { - pageInfo: PageInfo! - - edges: [WebsiteNotificationEdge!]! -} - -type WebsiteNotificationEdge { - cursor: String! - - node: Notification! -} - -type Webhook { - id: ID! - - appId: ID! - - event: WebhookType! - - url: String! - - createdAt: DateTime! - - updatedAt: DateTime! -} - -enum WebhookType { - BUILD - - SUBMIT -} - -input WebhookFilter { - event: WebhookType -} - -enum CustomDomainStatus { - PENDING - - ACTIVE - - TIMED_OUT - - ERROR -} - -enum CustomDomainDNSRecordType { - A - - CNAME - - TXT -} - -type CustomDomainDNSRecord { - dnsType: CustomDomainDNSRecordType! - - dnsName: String! - - dnsContent: String! - - isConfigured: Boolean! -} - -type CustomDomainSetup { - status: CustomDomainStatus! - - verificationStatus: CustomDomainStatus - - verificationErrors: [String!] - - sslStatus: CustomDomainStatus - - sslErrors: [String!] -} - -type WorkerCustomDomain { - id: ID! - - hostname: String! - - devDomainName: DevDomainName! - - alias: WorkerDeploymentAlias! - - dnsRecord: CustomDomainDNSRecord! - - verificationRecord: CustomDomainDNSRecord - - dcvDelegationRecord: CustomDomainDNSRecord - - setup: CustomDomainSetup - - createdAt: DateTime! - - updatedAt: DateTime! -} - -""" -A alias name for a serverless deployment -""" -scalar WorkerDeploymentIdentifier - -type WorkerDeploymentAlias { - id: ID! - - url: String! - - subdomain: String! - - aliasName: WorkerDeploymentIdentifier - - deploymentDomain: String! - - devDomainName: DevDomainName! - - workerDeployment: WorkerDeployment! - - createdAt: DateTime! - - updatedAt: DateTime! -} - -type WorkerDeploymentAliasesConnection { - pageInfo: PageInfo! - - edges: [WorkerDeploymentAliasEdge!]! -} - -type WorkerDeploymentAliasEdge { - cursor: String! - - node: WorkerDeploymentAlias! -} - -type WorkerDeployment implements ActivityTimelineProjectActivity { - aliases: [WorkerDeploymentAlias!] - - crashes(timespan: DatasetTimespan!, filters: CrashesFilters): WorkerDeploymentCrashes - - logs(timespan: LogsTimespan!, limit: Int = 500): WorkerDeploymentLogs - - requests(timespan: DatasetTimespan!, filters: RequestsFilters): WorkerDeploymentRequests - - id: ID! - - url: String! - - createdAt: DateTime! - - deploymentIdentifier: WorkerDeploymentIdentifier! - - devDomainName: DevDomainName! - - initiatingActor: Actor - - deploymentDomain: String! - - subdomain: String! - - actor: Actor - - activityTimestamp: DateTime! - - app: App! - - signedDeploymentURL: String! - - signedAssetsURL: String! -} - -enum CrashSampleFor { - NEWEST - - OLDEST -} - -enum WorkerDeploymentCrashKind { - GENERIC - - EXCEEDED_CPU - - EXCEEDED_SUBREQUESTS - - EXCEEDED_MEMORY - - RESPONSE_STREAM_DISCONNECTED - - INTERNAL -} - -type WorkerDeploymentCrashNode { - key: ID! - - crashHash: ID! - - crashKind: WorkerDeploymentCrashKind! - - scriptName: String! - - deploymentIdentifier: String! - - crashTimestamp: DateTime! - - requestTimestamp: DateTime! - - name: String! - - message: String! - - stack: [String!] - - firstStackLine: String -} - -type WorkerDeploymentCrashEdge { - node: WorkerDeploymentCrashNode! - - request: WorkerDeploymentRequestNode - - logs: [WorkerDeploymentLogNode!]! -} - -type WorkerDeploymentCrashesAggregationNode { - sampleRate: Float - - distinctCrashes: Int! - - crashesSum: Int! - - crashesPerMs: Float - - firstOccurredAt: DateTime! - - mostRecentlyOccurredAt: DateTime! -} - -type WorkerDeploymentCrashesNameEdge { - node: WorkerDeploymentCrashesAggregationNode! - - timeseries: [WorkerDeploymentCrashesTimeseriesEdge!]! - - sample: WorkerDeploymentCrashNode! - - name: String! -} - -type WorkerDeploymentCrashesHashEdge { - node: WorkerDeploymentCrashesAggregationNode! - - timeseries: [WorkerDeploymentCrashesTimeseriesEdge!]! - - sample: WorkerDeploymentCrashNode! - - crashHash: ID! -} - -type WorkerDeploymentCrashesTimeseriesEdge { - node: WorkerDeploymentCrashesAggregationNode - - timestamp: DateTime! -} - -type WorkerDeploymentCrashes { - interval: Int! - - minRowsWithoutLimit: Int! - - summary: WorkerDeploymentCrashesAggregationNode! - - timeseries: [WorkerDeploymentCrashesTimeseriesEdge!]! - - nodes: [WorkerDeploymentCrashNode!]! - - byName: [WorkerDeploymentCrashesNameEdge!]! - - byCrashHash: [WorkerDeploymentCrashesHashEdge!]! -} - -input CrashesFilters { - name: [String!] - - crashKind: [WorkerDeploymentCrashKind!] -} - -input DatasetTimespan { - start: DateTime! - - end: DateTime! -} - -enum WorkerDeploymentLogLevel { - LOG - - DEBUG - - INFO - - WARN - - ERROR - - FATAL -} - -type WorkerDeploymentLogNode { - message: String! - - level: WorkerDeploymentLogLevel! - - timestamp: DateTime! -} - -type WorkerDeploymentLogs { - nodes: [WorkerDeploymentLogNode!]! - - minRowsWithoutLimit: Int -} - -input LogsTimespan { - start: DateTime - - end: DateTime! -} - -""" -A Worker Deployment Request ID (also known as the CF Ray ID) -""" -scalar WorkerDeploymentRequestID - -enum ContinentCode { - AF - - AN - - AS - - EU - - NA - - OC - - SA - - T1 -} - -enum UserAgentPlatform { - UNKNOWN - - ANDROID - - APPLE - - WEB -} - -enum UserAgentOS { - ANDROID - - LINUX - - CHROME_OS - - WINDOWS - - MAC_OS - - IPAD_OS - - IOS -} - -enum UserAgentBrowser { - OPERA - - EDGE - - FACEBOOK_MOBILE - - CHROME - - SAMSUNG_INTERNET - - CHROME_IOS - - FIREFOX_IOS - - UC_BROWSER - - SAFARI - - SAFARI_MOBILE - - ANDROID_MOBILE - - KONQUEROR - - FIREFOX - - INTERNET_EXPLORER - - MOZILLA -} - -enum ResponseType { - ASSET - - CRASH - - REJECTED - - ROUTE -} - -enum ResponseStatusType { - NONE - - SUCCESSFUL - - REDIRECT - - CLIENT_ERROR - - SERVER_ERROR -} - -enum ResponseCacheStatus { - MISS - - HIT - - PASS -} - -enum RequestMethod { - PATCH - - POST - - PUT - - OPTIONS - - HEAD - - GET - - DELETE -} - -type WorkerDeploymentRequestNode { - key: ID! - - requestId: WorkerDeploymentRequestID! - - scriptName: String! - - deploymentIdentifier: String! - - requestTimestamp: DateTime! - - status: Int! - - duration: Int! - - browserKind: UserAgentBrowser - - browserVersion: String - - method: String! - - pathname: String! - - routerPath: String - - search: String - - isLimitExceeded: Boolean! - - isCrash: Boolean! - - isAsset: Boolean! - - isRejected: Boolean! - - isStaleWhileRevalidate: Boolean! - - isStaleIfError: Boolean! - - hasCustomDomainOrigin: Boolean! - - isVerifiedBot: Boolean! - - cacheStatus: ResponseCacheStatus - - responseType: ResponseType! - - statusType: ResponseStatusType - - os: UserAgentOS - - platform: UserAgentPlatform! - - continent: ContinentCode - - country: String - - region: String -} - -type WorkerDeploymentRequestEdge { - node: WorkerDeploymentRequestNode! - - logs: [WorkerDeploymentLogNode!]! - - crash: WorkerDeploymentCrashNode -} - -type WorkerDeploymentRequestsAggregationNode { - sampleRate: Float - - requestsSum: Int! - - requestsPerMs: Float - - limitExceededSum: Int! - - limitExceededPerMs: Float - - crashesSum: Int! - - crashesPerMs: Float - - assetsSum: Int! - - assetsPerMs: Float - - cacheHitsSum: Int! - - cacheHitsPerMs: Float - - staleIfErrorSum: Int! - - staleIfErrorPerMs: Float - - staleWhileRevalidateSum: Int! - - staleWhileRevalidatePerMs: Float - - cacheHitRatio: Float! - - cacheHitRatioP50: Float! - - cacheHitRatioP90: Float! - - cacheHitRatioP99: Float! - - cachePassRatio: Float! - - cachePassRatioP50: Float! - - cachePassRatioP90: Float! - - cachePassRatioP99: Float! - - serverErrorRatio: Float! - - serverErrorRatioP50: Float! - - serverErrorRatioP90: Float! - - serverErrorRatioP99: Float! - - clientErrorRatio: Float! - - clientErrorRatioP50: Float! - - clientErrorRatioP90: Float! - - clientErrorRatioP99: Float! - - crashRatio: Float! - - crashRatioP50: Float! - - crashRatioP90: Float! - - crashRatioP99: Float! - - duration: Float! - - durationP50: Float! - - durationP90: Float! - - durationP99: Float! -} - -type WorkerDeploymentRequestsContinentEdge { - node: WorkerDeploymentRequestsAggregationNode! - - continent: ContinentCode -} - -type WorkerDeploymentRequestsCountryEdge { - node: WorkerDeploymentRequestsAggregationNode! - - country: String -} - -type WorkerDeploymentRequestsOperatingSystemEdge { - node: WorkerDeploymentRequestsAggregationNode! - - os: UserAgentOS -} - -type WorkerDeploymentRequestsBrowserEdge { - node: WorkerDeploymentRequestsAggregationNode! - - browser: UserAgentBrowser -} - -type WorkerDeploymentRequestsMethodEdge { - node: WorkerDeploymentRequestsAggregationNode! - - method: String! -} - -type WorkerDeploymentRequestsStatusTypeEdge { - node: WorkerDeploymentRequestsAggregationNode! - - statusType: ResponseStatusType -} - -type WorkerDeploymentRequestsCacheStatusEdge { - node: WorkerDeploymentRequestsAggregationNode! - - cacheStatus: ResponseCacheStatus -} - -type WorkerDeploymentRequestsResponseTypeEdge { - node: WorkerDeploymentRequestsAggregationNode! - - responseType: ResponseType! -} - -type WorkerDeploymentRequestsPathnameEdge { - node: WorkerDeploymentRequestsAggregationNode! - - pathname: String! -} - -type WorkerDeploymentRequestsPlatformEdge { - node: WorkerDeploymentRequestsAggregationNode! - - platform: UserAgentPlatform! -} - -type WorkerDeploymentRequestsTimeseriesEdge { - node: WorkerDeploymentRequestsAggregationNode - - timestamp: DateTime! - - byContinent: [WorkerDeploymentRequestsContinentEdge!]! - - byCountry: [WorkerDeploymentRequestsCountryEdge!]! - - byOS: [WorkerDeploymentRequestsOperatingSystemEdge!]! - - byBrowser: [WorkerDeploymentRequestsBrowserEdge!]! - - byMethod: [WorkerDeploymentRequestsMethodEdge!]! - - byStatusType: [WorkerDeploymentRequestsStatusTypeEdge!]! - - byCacheStatus: [WorkerDeploymentRequestsCacheStatusEdge!]! - - byResponseType: [WorkerDeploymentRequestsResponseTypeEdge!]! - - byPathname: [WorkerDeploymentRequestsPathnameEdge!]! - - byPlatform: [WorkerDeploymentRequestsPlatformEdge!]! -} - -type WorkerDeploymentRequests { - interval: Int! - - minRowsWithoutLimit: Int! - - summary: WorkerDeploymentRequestsAggregationNode! - - timeseries: [WorkerDeploymentRequestsTimeseriesEdge!]! - - nodes: [WorkerDeploymentRequestNode!]! - - byContinent(orderBy: RequestsOrderBy, limit: Int): [WorkerDeploymentRequestsContinentEdge!]! - - byCountry(orderBy: RequestsOrderBy, limit: Int): [WorkerDeploymentRequestsCountryEdge!]! - - byOS(orderBy: RequestsOrderBy, limit: Int): [WorkerDeploymentRequestsOperatingSystemEdge!]! - - byBrowser(orderBy: RequestsOrderBy, limit: Int): [WorkerDeploymentRequestsBrowserEdge!]! - - byMethod(orderBy: RequestsOrderBy, limit: Int): [WorkerDeploymentRequestsMethodEdge!]! - - byStatusType(orderBy: RequestsOrderBy, limit: Int): [WorkerDeploymentRequestsStatusTypeEdge!]! - - byCacheStatus(orderBy: RequestsOrderBy, limit: Int): [WorkerDeploymentRequestsCacheStatusEdge!]! - - byResponseType(orderBy: RequestsOrderBy, limit: Int): [WorkerDeploymentRequestsResponseTypeEdge!]! - - byPathname(orderBy: RequestsOrderBy, limit: Int): [WorkerDeploymentRequestsPathnameEdge!]! - - byPlatform(orderBy: RequestsOrderBy, limit: Int): [WorkerDeploymentRequestsPlatformEdge!]! -} - -enum RequestsOrderByField { - REQUESTS_SUM - - CRASHES_SUM - - ASSETS_SUM - - CACHE_HIT_RATIO - - CACHE_PASS_RATIO - - DURATION -} - -enum RequestsOrderByDirection { - ASC - - DESC -} - -input RequestsOrderBy { - field: RequestsOrderByField! - - direction: RequestsOrderByDirection -} - -input RequestsFilters { - requestId: [WorkerDeploymentRequestID!] - - method: [RequestMethod!] - - status: [Int!] - - responseType: [ResponseType!] - - statusType: [ResponseStatusType!] - - continent: [ContinentCode!] - - cacheStatus: [ResponseCacheStatus!] - - os: [UserAgentOS!] - - platform: [UserAgentPlatform!] - - pathname: String - - isAsset: Boolean - - isCrash: Boolean - - isLimitExceeded: Boolean - - isVerifiedBot: Boolean - - hasCustomDomainOrigin: Boolean - - country: [String!] -} - -type WorkerDeploymentsConnection { - pageInfo: PageInfo! - - edges: [WorkerDeploymentEdge!]! -} - -type WorkerDeploymentEdge { - cursor: String! - - node: WorkerDeployment! -} - -type WorkflowArtifact { - id: ID! - - jobRun: JobRun! - - name: String! - - filename: String! - - downloadUrl: String - - contentType: String - - fileSizeBytes: Int - - createdAt: DateTime! - - updatedAt: DateTime! -} - -enum WorkflowJobReviewDecision { - APPROVED - - REJECTED -} - -type WorkflowJobApproval { - id: ID! - - workflowJob: WorkflowJob! - - userActor: UserActor - - decision: WorkflowJobReviewDecision! - - createdAt: DateTime! - - updatedAt: DateTime! -} - -enum WorkflowJobStatus { - NEW - - IN_PROGRESS - - ACTION_REQUIRED - - SUCCESS - - FAILURE - - PENDING_CANCEL - - CANCELED - - SKIPPED -} - -enum WorkflowJobType { - BUILD - - DEPLOY - - SUBMISSION - - CUSTOM - - REQUIRE_APPROVAL - - UPDATE - - MAESTRO_TEST - - MAESTRO_CLOUD - - APPLE_DEVICE_REGISTRATION_REQUEST - - GET_BUILD - - FINGERPRINT - - SLACK - - DOC - - REPACK -} - -type WorkflowJob { - id: ID! - - workflowRun: WorkflowRun! - - key: String! - - name: String! - - type: WorkflowJobType! - - status: WorkflowJobStatus! - - requiredJobKeys: [String!]! - - outputs: JSONObject! - - errors: [WorkflowJobError!]! - - createdAt: DateTime! - - updatedAt: DateTime! - - turtleJobRun: JobRun - - turtleBuild: Build - - turtleSubmission: Submission - - credentialsAppleDeviceRegistrationRequest: AppleDeviceRegistrationRequest - - approvals: [WorkflowJobApproval!]! -} - -type WorkflowJobError { - title: String! - - message: String! -} - -type WorkflowRevision { - id: ID! - - workflow: Workflow! - - blobSha: String! - - commitSha: String - - yamlConfig: String! - - createdAt: DateTime! -} - -enum WorkflowRunStatus { - NEW - - IN_PROGRESS - - ACTION_REQUIRED - - SUCCESS - - FAILURE - - CANCELED -} - -enum WorkflowRunTriggerEventType { - MANUAL - - GITHUB_PULL_REQUEST_OPENED - - GITHUB_PULL_REQUEST_SYNCHRONIZE - - GITHUB_PULL_REQUEST_REOPENED - - GITHUB_PULL_REQUEST_LABELED - - GITHUB_PUSH - - SCHEDULE -} - -type WorkflowRun implements ActivityTimelineProjectActivity { - id: ID! - - workflow: Workflow! - - workflowRevision: WorkflowRevision - - name: String! - - status: WorkflowRunStatus! - - triggerEventType: WorkflowRunTriggerEventType! - - gitCommitHash: String - - gitCommitMessage: String - - requestedGitRef: String - - githubRepository: GitHubRepository - - pullRequestNumber: Int - - createdAt: DateTime! - - updatedAt: DateTime! - - durationSeconds: Int - - actor: Actor - - activityTimestamp: DateTime! - - errors: [WorkflowRunError!]! - - triggeringLabelName: String - - triggeringSchedule: String - - sourceExpiresAt: DateTime - - retries: [WorkflowRun!]! - - retriedWorkflowRun: WorkflowRun - - jobs: [WorkflowJob!]! -} - -type WorkflowRunError { - title: String - - message: String! -} - -type Workflow { - id: ID! - - app: App! - - fileName: String! - - name: String - - createdAt: DateTime! - - updatedAt: DateTime! - - revisionsPaginated(first: Int, after: String, last: Int, before: String): WorkflowRevisionsConnection! - - runsPaginated(first: Int, after: String, last: Int, before: String, filter: WorkflowRunFilterInput): WorkflowRunsConnection! -} - -type WorkflowRevisionsConnection { - pageInfo: PageInfo! - - edges: [WorkflowRevisionEdge!]! -} - -type WorkflowRevisionEdge { - cursor: String! - - node: WorkflowRevision! -} - -type WorkflowRunsConnection { - pageInfo: PageInfo! - - edges: [WorkflowRunEdge!]! -} - -type WorkflowRunEdge { - cursor: String! - - node: WorkflowRun! -} - -input WorkflowRunFilterInput { - requestedGitRef: String - - status: WorkflowRunStatus -} - -type AccountQuery { - """ - Query an Account by ID - """ - byId("Account id to use to look up account" accountId: String!): Account! - - """ - Query an Account by name - """ - byName("Account name to use to look up account" accountName: String!): Account! -} - -type AccountSSOConfigurationPublicDataQuery { - """ - Get AccountSSOConfiguration public data by account name - """ - publicDataByAccountName("Account name to use to look up account SSO configuration" accountName: String!): AccountSSOConfigurationPublicData! -} - -type ActorQuery { - """ - Query an Actor by ID - """ - byId(id: ID!): Actor! @deprecated(reason: "Public actor queries are no longer supported") -} - -type AppleDeviceRegistrationRequestQuery { - byId(id: ID!): AppleDeviceRegistrationRequest! -} - -type AppleDistributionCertificateQuery { - byId(id: ID!): AppleDistributionCertificate! -} - -type AppleProvisioningProfileQuery { - byId(id: ID!): AppleProvisioningProfile! -} - -type AppleTeamQuery { - byAppleTeamIdentifier(accountId: ID!, identifier: String!): AppleTeam -} - -enum AppsFilter { - """ - Featured Projects - """ - FEATURED - - """ - New Projects - """ - NEW -} - -enum AppSort { - """ - Sort by recently published - """ - RECENTLY_PUBLISHED - - """ - Sort by highest trendScore - """ - VIEWED -} - -type AppQuery { - """ - Look up app by app id - """ - byId(appId: String!): App! - - byFullName("App full name used to look up app" fullName: String!): App! - - """ - Look up app by dev domain name, if one has been created - """ - byDevDomainName(name: DevDomainName!): App! - - """ - Public apps in the app directory - """ - all("Filter to use to filter public app list" filter: AppsFilter!, "Method to sort by" sort: AppSort!, offset: Int, limit: Int): [App!]! @deprecated(reason: "App directory no longer supported") -} - -type AppStoreConnectApiKeyQuery { - byId(id: ID!): AppStoreConnectApiKey! -} - -enum AssetMetadataStatus { - EXISTS - - DOES_NOT_EXIST -} - -type AssetMetadataResult { - status: AssetMetadataStatus! - - storageKey: String! -} - -type AssetSignedUrlResult { - url: String! - - headers: JSON - - storageKey: String! -} - -""" -Check to see if assets with given storageKeys exist -""" -type AssetQuery { - metadata(storageKeys: [String!]!): [AssetMetadataResult!]! - - signedUrls(updateId: ID!, storageKeys: [String!]!): [AssetSignedUrlResult!]! - - byStorageKeys(storageKeys: [String!]!): [Asset!]! -} - -type LogNameTypeMapping { - typeName: EntityTypeName! - - publicName: String! -} - -type UserLogNameTypeMapping { - typeName: UserEntityTypeName! - - publicName: String! -} - -type AuditLogQuery { - """ - Audit logs for account - """ - byId(auditLogId: ID!): AuditLog! - - typeNamesMap: [LogNameTypeMapping!]! -} - -type UserAuditLogQuery { - """ - Audit logs for user - """ - byId(auditLogId: ID!): UserAuditLog! - - byUserIdPaginated(userId: ID!, first: Int, after: String, last: Int, before: String, filter: UserAuditLogFilterInput): UserAuditLogConnection! - - typeNamesMap: [UserLogNameTypeMapping!]! -} - -type UserAuditLogConnection { - pageInfo: PageInfo! - - edges: [UserAuditLogEdge!]! -} - -type UserAuditLogEdge { - cursor: String! - - node: UserAuditLog! -} - -input UserAuditLogFilterInput { - entityTypes: [UserEntityTypeName!] - - mutationTypes: [TargetEntityMutationType!] -} - -type BackgroundJobReceiptQuery { - """ - Look up background job receipt by ID - """ - byId(id: ID!): BackgroundJobReceipt! -} - -type BranchQuery { - """ - Query a Branch by ID - """ - byId("Branch ID to use to look up branch" branchId: ID!): UpdateBranch! -} - -input BuildAnnotationFiltersInput { - buildPhases: [String!]! -} - -type BuildAnnotationsQuery { - """ - View build annotations - """ - all(filters: BuildAnnotationFiltersInput): [BuildAnnotation!]! - - """ - Find a build annotation by ID - """ - byId(buildAnnotationId: ID!): BuildAnnotation! -} - -type BuildPublicDataQuery { - """ - Get BuildPublicData by ID - """ - byId(id: ID!): BuildPublicData -} - -type BuildQuery { - """ - Look up EAS Build by build ID - """ - byId(buildId: ID!): Build! - - """ - Get all builds for a specific app. - They are sorted from latest to oldest. - """ - allForApp(appId: String!, status: BuildStatus, platform: AppPlatform, offset: Int, limit: Int): [Build]! @deprecated(reason: "Use App.builds instead") - - """ - Get all builds. - By default, they are sorted from latest to oldest. - Available only for admin users. - """ - all(statuses: [BuildStatus!], offset: Int, limit: Int, order: Order): [Build!]! -} - -enum Order { - DESC - - ASC -} - -type ChannelQuery { - """ - Query a Channel by ID - """ - byId("Channel ID to use to look up channel" channelId: ID!): UpdateChannel! -} - -type DeploymentQuery { - """ - Query a Deployment by ID - """ - byId("Deployment ID to use to look up deployment" deploymentId: ID!): Deployment! -} - -type ExperimentationQuery { - """ - Get user experimentation config - """ - userConfig: JSONObject! - - """ - Get device experimentation config - """ - deviceConfig: JSONObject! - - """ - Get experimentation unit to use for device experiments. In this case, it is the IP address. - """ - deviceExperimentationUnit: ID! -} - -type GitHubRepositoryOwner { - id: Int! - - login: String! - - url: String! - - avatarUrl: String! -} - -type GitHubAppInstallationAccessibleRepository { - id: Int! - - name: String! - - url: String! - - description: String - - private: Boolean! - - owner: GitHubRepositoryOwner! - - defaultBranch: String - - nodeId: String! -} - -type GitHubRepositoryPaginationResult { - totalCount: Int! - - repositories: [GitHubAppInstallationAccessibleRepository!]! -} - -enum GitHubAppEnvironment { - DEVELOPMENT - - STAGING - - PRODUCTION -} - -type GitHubAppQuery { - clientIdentifier: String! - - appIdentifier: String! - - environment: GitHubAppEnvironment! - - name: String! - - installation(id: ID!): GitHubAppInstallation! -} - -type GoogleServiceAccountKeyQuery { - byId(id: ID!): GoogleServiceAccountKey! -} - -type InvoiceQuery { - """ - Preview an upgrade subscription invoice, with proration - """ - previewInvoiceForSubscriptionUpdate(accountId: String!, newPlanIdentifier: String!, couponCode: String): Invoice! - - """ - Previews the invoice for the specified number of additional concurrencies. - This is the total number of concurrencies the customer wishes to purchase - on top of their base plan, not the relative change in concurrencies - the customer wishes to make. For example, specify "3" if the customer has - two add-on concurrencies and wishes to purchase one more. - """ - previewInvoiceForAdditionalConcurrenciesCountUpdate(accountID: ID!, additionalConcurrenciesCount: Int!): Invoice -} - -type JobRunQuery { - """ - Look up EAS Job Run by ID - """ - byId(jobRunId: ID!): JobRun! -} - -type ProjectQuery { - byUsernameAndSlug(username: String!, slug: String!, platform: String, sdkVersions: [String]): Project! @deprecated(reason: "See byAccountNameAndSlug") -} - -type RuntimeQuery { - """ - Query a Runtime by ID - """ - byId("Runtime ID to use to look up runtime" runtimeId: ID!): Runtime! -} - -type SnackQuery { - """ - Get snack by hashId - """ - byId(id: ID!): Snack! @deprecated(reason: "Use byHashId") - - """ - Get snack by hashId - """ - byHashId(hashId: ID!): Snack! -} - -type StatuspageServiceQuery { - """ - Query services from Expo status page by names. - """ - byServiceNames("Service names to use to look up components." serviceNames: [StatuspageServiceName!]!): [StatuspageService!]! -} - -type SubmissionQuery { - """ - Look up EAS Submission by submission ID - """ - byId(submissionId: ID!): Submission! -} - -type UpdateQuery { - """ - Query an Update by ID - """ - byId("Update ID to use to look up update" updateId: ID!): Update! -} - -type UserActorPublicDataQuery { - """ - Get UserActorPublicData by username - """ - byUsername(username: String!): UserActorPublicData! -} - -type UserActorQuery { - """ - Query a UserActor by ID - """ - byId(id: ID!): UserActor! @deprecated(reason: "Public user actor queries are no longer supported") - - """ - Query a UserActor by username - """ - byUsername(username: String!): UserActor! @deprecated(reason: "Public user actor queries are no longer supported") -} - -type UserInvitationPublicDataQuery { - """ - Get UserInvitationPublicData by token - """ - byToken(token: ID!): UserInvitationPublicData! -} - -type UserQuery { - """ - Query a User by ID - """ - byId(userId: ID!): User! @deprecated(reason: "Public user queries are no longer supported") - - """ - Query a User by username - """ - byUsername(username: String!): User! @deprecated(reason: "Public user queries are no longer supported") -} - -type WebhookQuery { - byId(id: ID!): Webhook! -} - -type WorkerDeploymentQuery { - byId(id: ID!): WorkerDeployment! -} - -type WorkflowJobQuery { - byId(workflowJobId: ID!): WorkflowJob! -} - -type WorkflowQuery { - """ - Look up Workflow by ID - """ - byId(workflowId: ID!): Workflow! - - """ - Look up Workflow by app ID and file name - """ - byAppIdAndFileName(appId: ID!, fileName: String!): Workflow! -} - -type WorkflowRevisionQuery { - byId(workflowRevisionId: ID!): WorkflowRevision! -} - -type WorkflowRunQuery { - byId(workflowRunId: ID!): WorkflowRun! -} - -input CreateAccessTokenInput { - actorID: ID! - - note: String -} - -type CreateAccessTokenResponse { - """ - AccessToken created - """ - accessToken: AccessToken! - - """ - Full token string to be used for authentication - """ - token: String! -} - -type DeleteAccessTokenResult { - id: ID! -} - -type AccessTokenMutation { - """ - Create an AccessToken for an Actor - """ - createAccessToken(createAccessTokenData: CreateAccessTokenInput!): CreateAccessTokenResponse! - - """ - Revoke an AccessToken - """ - setAccessTokenRevoked(id: ID!, revoked: Boolean): AccessToken! - - """ - Delete an AccessToken - """ - deleteAccessToken(id: ID!): DeleteAccessTokenResult! -} - -type AccountMutation { - """ - Add specified account Permissions for Actor. Actor must already have at least one permission on the account. - """ - grantActorPermissions(accountID: ID!, actorID: ID!, permissions: [Permission]): Account! - - """ - Revoke specified Permissions for Actor. Actor must already have at least one permission on the account. - """ - revokeActorPermissions(accountID: ID!, actorID: ID!, permissions: [Permission]): Account! - - """ - Cancels all subscriptions immediately - """ - cancelAllSubscriptionsImmediately(accountID: ID!): Account! - - """ - Upgrades or downgrades the active subscription to the newPlanIdentifier, which must be one of the EAS plans (i.e., Production or Enterprise). - """ - changePlan(accountID: ID!, newPlanIdentifier: String!, couponCode: String): Account! - - """ - Cancel scheduled subscription change - """ - cancelScheduledSubscriptionChange(accountID: ID!): Account! - - """ - Requests a refund for the specified charge by requesting a manual refund from support - """ - requestRefund(accountID: ID!, chargeID: ID!, reason: String, description: String): Boolean - - """ - Require authorization to send push notifications for experiences owned by this account - """ - setPushSecurityEnabled(accountID: ID!, pushSecurityEnabled: Boolean!): Account! - - """ - Rename this account and the primary user's username if this account is a personal account - """ - rename(accountID: ID!, newName: String!): Account! - - """ - Buys or revokes account's additional concurrencies, charging the account the appropriate amount if needed. - """ - changeAdditionalConcurrenciesCount(accountID: ID!, newAdditionalConcurrenciesCount: Int!): Account! - - """ - Remove profile image for the account. Do nothing if there's no profile image associated. - """ - removeProfileImage(accountID: ID!): Account! - - """ - Set the display name for the account. - """ - setDisplayName(accountID: ID!, displayName: String!): Account! -} - -input AccountSSOConfigurationData { - authProviderIdentifier: AuthProviderIdentifier! - - authProtocol: AuthProtocolType! - - issuer: String! - - clientIdentifier: String! - - clientSecret: String! -} - -type DeleteAccountSSOConfigurationResult { - id: ID! -} - -type AccountSSOConfigurationMutation { - """ - Create an AccountSSOConfiguration for an Account - """ - createAccountSSOConfiguration(accountId: ID!, accountSSOConfigurationData: AccountSSOConfigurationData!): AccountSSOConfiguration! - - """ - Update an AccountSSOConfiguration - """ - updateAccountSSOConfiguration(id: ID!, accountSSOConfigurationData: AccountSSOConfigurationData!): AccountSSOConfiguration! - - """ - Delete an AccountSSOConfiguration - """ - deleteAccountSSOConfiguration(id: ID!): DeleteAccountSSOConfigurationResult! -} - -type ActorExperimentMutation { - """ - Create or update the value of a User Experiment - """ - createOrUpdateActorExperiment(experiment: Experiment!, enabled: Boolean!): ActorExperiment! -} - -""" -@isDefault: if set, these build credentials will become the default for the Android app. All other build credentials will have their default status set to false. -""" -input AndroidAppBuildCredentialsInput { - isDefault: Boolean! - - name: String! - - keystoreId: ID! -} - -type deleteAndroidAppBuildCredentialsResult { - id: ID! -} - -type AndroidAppBuildCredentialsMutation { - """ - Create a set of build credentials for an Android app - """ - createAndroidAppBuildCredentials(androidAppBuildCredentialsInput: AndroidAppBuildCredentialsInput!, androidAppCredentialsId: ID!): AndroidAppBuildCredentials! - - """ - delete a set of build credentials for an Android app - """ - deleteAndroidAppBuildCredentials(id: ID!): deleteAndroidAppBuildCredentialsResult! - - """ - Set the name of a set of build credentials to be used for an Android app - """ - setName(id: ID!, name: String!): AndroidAppBuildCredentials! - - """ - Set the keystore to be used for an Android app - """ - setKeystore(id: ID!, keystoreId: ID!): AndroidAppBuildCredentials! - - """ - Set the build credentials to be the default for the Android app - """ - setDefault(id: ID!, isDefault: Boolean!): AndroidAppBuildCredentials! -} - -input AndroidAppCredentialsInput { - fcmId: ID - - googleServiceAccountKeyForSubmissionsId: ID - - googleServiceAccountKeyForFcmV1Id: ID -} - -type DeleteAndroidAppCredentialsResult { - id: ID! -} - -type AndroidAppCredentialsMutation { - """ - Create a set of credentials for an Android app - """ - createAndroidAppCredentials(androidAppCredentialsInput: AndroidAppCredentialsInput!, appId: ID!, applicationIdentifier: String!): AndroidAppCredentials! - - """ - Create a GoogleServiceAccountKeyEntity to store credential and - connect it with an edge from AndroidAppCredential - """ - createFcmV1Credential(accountId: ID!, androidAppCredentialsId: String!, credential: String!): AndroidAppCredentials! - - """ - Set the FCM push key to be used in an Android app - """ - setFcm(id: ID!, fcmId: ID!): AndroidAppCredentials! - - """ - Set the Google Service Account Key to be used for Firebase Cloud Messaging V1 - """ - setGoogleServiceAccountKeyForFcmV1(id: ID!, googleServiceAccountKeyId: ID!): AndroidAppCredentials! - - """ - Set the Google Service Account Key to be used for submitting an Android app - """ - setGoogleServiceAccountKeyForSubmissions(id: ID!, googleServiceAccountKeyId: ID!): AndroidAppCredentials! - - """ - Delete a set of credentials for an Android app - """ - deleteAndroidAppCredentials(id: ID!): DeleteAndroidAppCredentialsResult! -} - -type BuildMutation { - """ - Create an Android build - """ - createAndroidBuild(appId: ID!, job: AndroidJobInput!, metadata: BuildMetadataInput, buildParams: BuildParamsInput): CreateBuildResult! - - """ - Retry an Android EAS Build - """ - retryAndroidBuild(buildId: ID!, jobOverrides: AndroidJobOverridesInput): Build! - - """ - Cancel an EAS Build build - """ - cancelBuild(buildId: ID!): Build! - - """ - Retry an EAS Build build - """ - retryBuild(buildId: ID!): Build! @deprecated(reason: "Use retryAndroidBuild and retryIosBuild instead") - - """ - Delete an EAS Build build - """ - deleteBuild(buildId: ID!): Build! - - """ - Update metadata for EAS Build build - """ - updateBuildMetadata(buildId: ID!, metadata: BuildMetadataInput!): Build! - - """ - Cancel an EAS Build build - """ - cancel: Build! @deprecated(reason: "Use cancelBuild instead") - - """ - Create an iOS build - """ - createIosBuild(appId: ID!, job: IosJobInput!, metadata: BuildMetadataInput, buildParams: BuildParamsInput): CreateBuildResult! - - """ - Retry an iOS EAS Build - """ - retryIosBuild(buildId: ID!, jobOverrides: IosJobOverridesInput): Build! - - """ - Create a local build - """ - createLocalBuild(appId: ID!, job: LocalBuildJobInput!, artifactSource: LocalBuildArchiveSourceInput!, metadata: BuildMetadataInput): CreateBuildResult! -} - -input AndroidJobInput { - mode: BuildMode - - type: BuildWorkflow! - - triggeredBy: BuildTrigger - - projectArchive: ProjectArchiveSourceInput! - - projectRootDirectory: String! - - releaseChannel: String - - updates: BuildUpdatesInput - - developmentClient: Boolean - - secrets: AndroidJobSecretsInput - - builderEnvironment: AndroidBuilderEnvironmentInput - - cache: BuildCacheInput - - version: AndroidJobVersionInput - - buildProfile: String - - environment: EnvironmentVariableEnvironment - - gradleCommand: String - - """ - @deprecated - """ - artifactPath: String - - applicationArchivePath: String - - buildArtifactPaths: [String!] - - buildType: AndroidBuildType - - username: String - - customBuildConfig: CustomBuildConfigInput - - loggerLevel: WorkerLoggerLevel - - experimental: JSONObject -} - -input AndroidJobOverridesInput { - mode: BuildMode - - releaseChannel: String - - updates: BuildUpdatesInput - - developmentClient: Boolean - - secrets: AndroidJobSecretsInput - - builderEnvironment: AndroidBuilderEnvironmentInput - - cache: BuildCacheInput - - version: AndroidJobVersionInput - - buildProfile: String - - gradleCommand: String - - """ - @deprecated - """ - artifactPath: String - - applicationArchivePath: String - - buildArtifactPaths: [String!] - - buildType: AndroidBuildType - - username: String - - customBuildConfig: CustomBuildConfigInput - - loggerLevel: WorkerLoggerLevel - - experimental: JSONObject -} - -input AndroidJobSecretsInput { - buildCredentials: AndroidJobBuildCredentialsInput - - robotAccessToken: String -} - -input AndroidJobBuildCredentialsInput { - keystore: AndroidJobKeystoreInput! -} - -input AndroidJobKeystoreInput { - dataBase64: String! - - keystorePassword: String! - - keyAlias: String! - - keyPassword: String -} - -input AndroidBuilderEnvironmentInput { - image: String - - node: String - - corepack: Boolean - - yarn: String - - pnpm: String - - bun: String - - ndk: String - - expoCli: String - - env: JSONObject -} - -input AndroidJobVersionInput { - versionCode: String! -} - -enum AndroidBuildType { - APK - - APP_BUNDLE - - """ - @deprecated Use developmentClient option instead. - """ - DEVELOPMENT_CLIENT -} - -input AndroidFcmInput { - credential: String! - - version: AndroidFcmVersion! -} - -type deleteAndroidFcmResult { - id: ID! -} - -type AndroidFcmMutation { - """ - Create an FCM V0/Legacy credential - """ - createAndroidFcm(androidFcmInput: AndroidFcmInput!, accountId: ID!): AndroidFcm! @deprecated(reason: "FCM Legacy credentials are no longer supported by Google. Use createFcmV1Credential instead.") - - """ - Delete an FCM V0/Legacy credential - """ - deleteAndroidFcm(id: ID!): deleteAndroidFcmResult! -} - -input AndroidKeystoreInput { - base64EncodedKeystore: String! - - keystorePassword: String! - - keyAlias: String! - - keyPassword: String - - type: AndroidKeystoreType @deprecated(reason: "Type will be automatically inferred from keystore content.") -} - -type DeleteAndroidKeystoreResult { - id: ID! -} - -type AndroidKeystoreMutation { - """ - Create a Keystore - """ - createAndroidKeystore(androidKeystoreInput: AndroidKeystoreInput!, accountId: ID!): AndroidKeystore - - """ - Delete a Keystore - """ - deleteAndroidKeystore(id: ID!): DeleteAndroidKeystoreResult! -} - -type AppDevDomainNameMutation { - """ - Creates a DevDomainName assigning it to an app - """ - assignDevDomainName(appId: ID!, name: DevDomainName!): AppDevDomainName! - - """ - Updates a DevDomainName for a given app - """ - changeDevDomainName(appId: ID!, name: DevDomainName!): AppDevDomainName! -} - -input AppleAppIdentifierInput { - bundleIdentifier: String! - - appleTeamId: ID - - parentAppleAppId: ID -} - -type AppleAppIdentifierMutation { - """ - Create an Identifier for an iOS App - """ - createAppleAppIdentifier(appleAppIdentifierInput: AppleAppIdentifierInput!, accountId: ID!): AppleAppIdentifier! -} - -input AppleDeviceInput { - appleTeamId: ID! - - identifier: String! - - name: String - - model: String - - deviceClass: AppleDeviceClass - - softwareVersion: String - - enabled: Boolean -} - -input AppleDeviceUpdateInput { - name: String -} - -type DeleteAppleDeviceResult { - id: ID! -} - -type AppleDeviceMutation { - """ - Create an Apple Device - """ - createAppleDevice(appleDeviceInput: AppleDeviceInput!, accountId: ID!): AppleDevice! - - """ - Delete an Apple Device - """ - deleteAppleDevice(id: ID!): DeleteAppleDeviceResult! - - """ - Update an Apple Device - """ - updateAppleDevice(id: ID!, appleDeviceUpdateInput: AppleDeviceUpdateInput!): AppleDevice! -} - -type AppleDeviceRegistrationRequestMutation { - """ - Create an Apple Device registration request - """ - createAppleDeviceRegistrationRequest(appleTeamId: ID!, accountId: ID!): AppleDeviceRegistrationRequest! -} - -input AppleDistributionCertificateInput { - certP12: String! - - certPassword: String! - - certPrivateSigningKey: String - - developerPortalIdentifier: String - - appleTeamId: ID -} - -type DeleteAppleDistributionCertificateResult { - id: ID! -} - -type AppleDistributionCertificateMutation { - """ - Create a Distribution Certificate - """ - createAppleDistributionCertificate(appleDistributionCertificateInput: AppleDistributionCertificateInput!, accountId: ID!): AppleDistributionCertificate - - """ - Delete a Distribution Certificate - """ - deleteAppleDistributionCertificate(id: ID!): DeleteAppleDistributionCertificateResult! -} - -input AppleProvisioningProfileInput { - appleProvisioningProfile: String! - - developerPortalIdentifier: String -} - -type DeleteAppleProvisioningProfileResult { - id: ID! -} - -type AppleProvisioningProfileMutation { - """ - Create a Provisioning Profile - """ - createAppleProvisioningProfile(appleProvisioningProfileInput: AppleProvisioningProfileInput!, accountId: ID!, appleAppIdentifierId: ID!): AppleProvisioningProfile! - - """ - Update a Provisioning Profile - """ - updateAppleProvisioningProfile(id: ID!, appleProvisioningProfileInput: AppleProvisioningProfileInput!): AppleProvisioningProfile! - - """ - Delete a Provisioning Profile - """ - deleteAppleProvisioningProfile(id: ID!): DeleteAppleProvisioningProfileResult! - - """ - Delete Provisioning Profiles - """ - deleteAppleProvisioningProfiles(ids: [ID!]!): [DeleteAppleProvisioningProfileResult!]! -} - -input ApplePushKeyInput { - keyP8: String! - - keyIdentifier: String! - - appleTeamId: ID! -} - -type deleteApplePushKeyResult { - id: ID! -} - -type ApplePushKeyMutation { - """ - Create an Apple Push Notification key - """ - createApplePushKey(applePushKeyInput: ApplePushKeyInput!, accountId: ID!): ApplePushKey! - - """ - Delete an Apple Push Notification key - """ - deleteApplePushKey(id: ID!): deleteApplePushKeyResult! -} - -input AppleTeamInput { - appleTeamIdentifier: String! - - appleTeamName: String - - appleTeamType: AppleTeamType -} - -input AppleTeamUpdateInput { - appleTeamName: String - - appleTeamType: AppleTeamType -} - -type AppleTeamMutation { - """ - Create an Apple Team - """ - createAppleTeam(appleTeamInput: AppleTeamInput!, accountId: ID!): AppleTeam! - - """ - Update an Apple Team - """ - updateAppleTeam(id: ID!, appleTeamUpdateInput: AppleTeamUpdateInput!): AppleTeam! -} - -input AppInfoInput { - displayName: String -} - -input AppInput { - accountId: ID! - - projectName: String! - - privacy: AppPrivacy @deprecated(reason: "No longer supported") - - appInfo: AppInfoInput -} - -input AppWithGithubRepositoryInput { - accountId: ID! - - projectName: String! - - privacy: AppPrivacy @deprecated(reason: "No longer supported") - - appInfo: AppInfoInput - - installationIdentifier: String -} - -type AppMutation { - """ - Create an app - """ - createApp(appInput: AppInput!): App! - - grantAccess(toUser: ID!, accessLevel: String): App @deprecated(reason: "No longer supported") - - """ - Require api token to send push notifs for experience - """ - setPushSecurityEnabled(appId: ID!, pushSecurityEnabled: Boolean!): App! - - """ - Set display info for app - """ - setAppInfo(appId: ID!, appInfo: AppInfoInput!): App! - - """ - Set resource class experiment for app - """ - setResourceClassExperiment(appId: ID!, resourceClassExperiment: ResourceClassExperiment): App! - - """ - Delete an App. Returns the ID of the background job receipt. Use BackgroundJobReceiptQuery to get the status of the job. - """ - scheduleAppDeletion(appId: ID!): BackgroundJobReceipt! - - """ - Remove profile image (icon) for the app. Do nothing if there's no profile image associated. - """ - removeProfileImage(appId: ID!): App! -} - -input AppStoreConnectApiKeyInput { - issuerIdentifier: String! - - keyIdentifier: String! - - keyP8: String! - - name: String - - roles: [AppStoreConnectUserRole!] - - appleTeamId: ID -} - -input AppStoreConnectApiKeyUpdateInput { - appleTeamId: ID -} - -type deleteAppStoreConnectApiKeyResult { - id: ID! -} - -type AppStoreConnectApiKeyMutation { - """ - Create an App Store Connect Api Key for an Apple Team - """ - createAppStoreConnectApiKey(appStoreConnectApiKeyInput: AppStoreConnectApiKeyInput!, accountId: ID!): AppStoreConnectApiKey! - - """ - Update an App Store Connect Api Key for an Apple Team - """ - updateAppStoreConnectApiKey(id: ID!, appStoreConnectApiKeyUpdateInput: AppStoreConnectApiKeyUpdateInput!): AppStoreConnectApiKey! - - """ - Delete an App Store Connect Api Key - """ - deleteAppStoreConnectApiKey(id: ID!): deleteAppStoreConnectApiKeyResult! -} - -input AppVersionInput { - appId: ID! - - platform: AppPlatform! - - applicationIdentifier: String! - - storeVersion: String! - - buildVersion: String! - - runtimeVersion: String -} - -type AppVersionMutation { - """ - Create an app version - """ - createAppVersion(appVersionInput: AppVersionInput!): AppVersion! -} - -type GetSignedAssetUploadSpecificationsResult { - specifications: [String!]! -} - -type AssetMutation { - """ - Returns an array of specifications for upload. Each URL is valid for an hour. - The content type of the asset you wish to upload must be specified. - """ - getSignedAssetUploadSpecifications("max 1400" assetContentTypes: [String]!): GetSignedAssetUploadSpecificationsResult! -} - -enum AuditLogsExportFormat { - CSV - - JSON - - JSONL -} - -input AuditLogExportInput { - accountId: ID! - - createdBefore: String! - - createdAfter: String! - - format: AuditLogsExportFormat! - - targetEntityTypeName: [EntityTypeName!] - - targetEntityMutationType: [TargetEntityMutationType!] -} - -input UserAuditLogExportInput { - userId: ID! - - createdBefore: String! - - createdAfter: String! - - format: AuditLogsExportFormat! - - targetEntityTypeName: [UserEntityTypeName!] - - targetEntityMutationType: [TargetEntityMutationType!] -} - -type AuditLogMutation { - """ - Exports Audit Logs for an account. Returns the ID of the background job receipt. Use BackgroundJobReceiptQuery to get the status of the job. - """ - exportAuditLogs(exportInput: AuditLogExportInput!): BackgroundJobReceipt! -} - -type UserAuditLogMutation { - """ - Exports User Audit Logs for an user. Returns the ID of the background job receipt. Use BackgroundJobReceiptQuery to get the status of the job. - """ - exportUserAuditLogs(exportInput: UserAuditLogExportInput!): BackgroundJobReceipt! -} - -input BuildAnnotationDataInput { - buildPhase: String! - - regexString: String! - - regexFlags: String - - title: String! - - message: String! - - exampleBuildLog: String - - internalNotes: String - - type: BuildAnnotationType! -} - -type DeleteBuildAnnotationResult { - buildAnnotationId: ID! -} - -type BuildAnnotationMutation { - """ - Create a Build Annotation - """ - createBuildAnnotation(buildAnnotationData: BuildAnnotationDataInput!): BuildAnnotation! - - """ - Update a Build Annotation - """ - updateBuildAnnotation(buildAnnotationId: ID!, buildAnnotationData: BuildAnnotationDataInput!): BuildAnnotation! - - """ - Delete a Build Annotation - """ - deleteBuildAnnotation(buildAnnotationId: ID!): DeleteBuildAnnotationResult! -} - -enum ProjectArchiveSourceType { - URL - - GCS - - NONE - - GIT -} - -enum WorkerLoggerLevel { - TRACE - - DEBUG - - INFO - - WARN - - ERROR - - FATAL -} - -input ProjectArchiveSourceInput { - type: ProjectArchiveSourceType! - - bucketKey: String - - metadataLocation: String - - url: String - - repositoryUrl: String - - gitRef: String -} - -input BuildUpdatesInput { - channel: String -} - -enum BuildTrigger { - EAS_CLI - - GIT_BASED_INTEGRATION -} - -input BuildCacheInput { - disabled: Boolean - - clear: Boolean - - key: String - - cacheDefaultPaths: Boolean @deprecated(reason: "We don't cache anything by default anymore") - - customPaths: [String] @deprecated(reason: "We use paths now since there is no default caching anymore") - - paths: [String!] -} - -enum FingerprintSourceType { - GCS -} - -input FingerprintSourceInput { - type: FingerprintSourceType - - bucketKey: String - - isDebugFingerprint: Boolean -} - -input BuildMetadataInput { - trackingContext: JSONObject - - appVersion: String - - appBuildVersion: String - - cliVersion: String - - workflow: BuildWorkflow - - credentialsSource: BuildCredentialsSource - - sdkVersion: String - - runtimeVersion: String - - fingerprintHash: String - - fingerprintSource: FingerprintSourceInput - - reactNativeVersion: String - - releaseChannel: String - - channel: String - - distribution: DistributionType - - iosEnterpriseProvisioning: BuildIosEnterpriseProvisioning - - appName: String - - appIdentifier: String - - buildProfile: String - - gitCommitHash: String - - gitCommitMessage: String - - isGitWorkingTreeDirty: Boolean - - username: String - - message: String - - runFromCI: Boolean - - runWithNoWaitFlag: Boolean - - buildMode: BuildMode @deprecated(reason: "Use job.mode instead.") - - customWorkflowName: String - - developmentClient: Boolean - - requiredPackageManager: String - - selectedImage: String - - customNodeVersion: String - - simulator: Boolean - - environment: String -} - -input BuildParamsInput { - resourceClass: BuildResourceClass! - - reactNativeVersion: String - - sdkVersion: String -} - -input BuildResignInput { - applicationArchiveSource: ProjectArchiveSourceInput -} - -input CustomBuildConfigInput { - path: String! -} - -type CreateBuildResult { - build: Build! - - deprecationInfo: EASBuildDeprecationInfo -} - -type EASBuildDeprecationInfo { - type: EASBuildDeprecationInfoType! - - message: String! -} - -enum EASBuildDeprecationInfoType { - USER_FACING - - INTERNAL -} - -type DeploymentsMutation { - """ - Create a signed deployment URL - """ - createSignedDeploymentUrl(appId: ID!, deploymentIdentifier: ID): DeploymentSignedUrlResult! - - assignAlias(appId: ID!, deploymentIdentifier: ID!, aliasName: WorkerDeploymentIdentifier): WorkerDeploymentAlias! - - deleteAlias(appId: ID!, aliasName: WorkerDeploymentIdentifier): DeleteAliasResult! - - deleteWorkerDeployment(workerDeploymentId: ID!): DeleteWorkerDeploymentResult! -} - -type DeploymentSignedUrlResult { - pendingWorkerDeploymentId: ID! - - deploymentIdentifier: ID! - - url: String! -} - -type DeleteAliasResult { - id: ID! - - aliasName: WorkerDeploymentIdentifier -} - -type DeleteWorkerDeploymentResult { - id: ID! - - deploymentIdentifier: WorkerDeploymentIdentifier! -} - -type DeleteDiscordUserResult { - id: ID! -} - -type DiscordUserMutation { - """ - Delete a Discord User by ID - """ - deleteDiscordUser(id: ID!): DeleteDiscordUserResult! -} - -enum MailchimpAudience { - EXPO_DEVELOPERS - - EXPO_DEVELOPER_ONBOARDING - - NONPROD_EXPO_DEVELOPERS - - LAUNCH_PARTY_2024 -} - -enum MailchimpTag { - EAS_MASTER_LIST - - DEV_CLIENT_USERS - - NEWSLETTER_SIGNUP_LIST - - DID_SUBSCRIBE_TO_EAS_AT_LEAST_ONCE -} - -type MailchimpTagPayload { - id: Int - - name: String -} - -input AddUserInput { - email: String! - - tags: [MailchimpTag!] - - audience: MailchimpAudience = EXPO_DEVELOPERS -} - -type AddUserPayload { - id: String - - email_address: String - - status: String - - timestamp_signup: String - - tags: [MailchimpTagPayload!] - - list_id: String -} - -type EmailSubscriptionMutation { - addUser(addUserInput: AddUserInput!): AddUserPayload! -} - -input CreateEnvironmentSecretInput { - name: String! - - value: String! - - type: EnvironmentSecretType -} - -type DeleteEnvironmentSecretResult { - id: ID! -} - -type EnvironmentSecretMutation { - """ - Create an environment secret for an Account - """ - createEnvironmentSecretForAccount(environmentSecretData: CreateEnvironmentSecretInput!, accountId: String!): EnvironmentSecret! - - """ - Create an environment secret for an App - """ - createEnvironmentSecretForApp(environmentSecretData: CreateEnvironmentSecretInput!, appId: String!): EnvironmentSecret! - - """ - Delete an environment secret - """ - deleteEnvironmentSecret(id: String!): DeleteEnvironmentSecretResult! -} - -input CreateSharedEnvironmentVariableInput { - name: String! - - value: String! - - visibility: EnvironmentVariableVisibility! - - environments: [EnvironmentVariableEnvironment!] - - overwrite: Boolean - - isGlobal: Boolean - - type: EnvironmentSecretType - - fileName: String -} - -input CreateEnvironmentVariableInput { - name: String! - - value: String! - - environments: [EnvironmentVariableEnvironment!] - - visibility: EnvironmentVariableVisibility! - - overwrite: Boolean - - type: EnvironmentSecretType - - fileName: String -} - -input UpdateEnvironmentVariableInput { - id: ID! - - name: String - - value: String - - environments: [EnvironmentVariableEnvironment!] - - visibility: EnvironmentVariableVisibility - - type: EnvironmentSecretType - - isGlobal: Boolean - - fileName: String -} - -input LinkSharedEnvironmentVariableInput { - environmentVariableId: ID! - - appId: ID! - - environment: EnvironmentVariableEnvironment -} - -type DeleteEnvironmentVariableResult { - id: ID! -} - -type EnvironmentVariableMutation { - """ - Create an environment variable for an Account - """ - createEnvironmentVariableForAccount(environmentVariableData: CreateSharedEnvironmentVariableInput!, accountId: ID!): EnvironmentVariable! - - """ - Create an environment variable for an App - """ - createEnvironmentVariableForApp(environmentVariableData: CreateEnvironmentVariableInput!, appId: ID!): EnvironmentVariable! - - """ - Update an environment variable - """ - updateEnvironmentVariable(environmentVariableData: UpdateEnvironmentVariableInput!): EnvironmentVariable! - - """ - Bulk update environment variables - """ - updateBulkEnvironmentVariables(environmentVariablesData: [UpdateEnvironmentVariableInput!]!): [EnvironmentVariable!]! - - """ - Delete an environment variable - """ - deleteEnvironmentVariable(id: ID!): DeleteEnvironmentVariableResult! - - """ - Bulk delete environment variables - """ - deleteBulkEnvironmentVariables(ids: [ID!]!): [DeleteEnvironmentVariableResult!]! - - """ - Link shared environment variable - """ - linkSharedEnvironmentVariable(environmentVariableId: ID!, appId: ID!, environment: EnvironmentVariableEnvironment): EnvironmentVariable! - - """ - Unlink shared environment variable - """ - unlinkSharedEnvironmentVariable(environmentVariableId: ID!, appId: ID!, environment: EnvironmentVariableEnvironment): EnvironmentVariable! - - """ - Create bulk env variables for an App - """ - createBulkEnvironmentVariablesForApp(environmentVariablesData: [CreateEnvironmentVariableInput!]!, appId: ID!): [EnvironmentVariable!]! - - """ - Create bulk env variables for an Account - """ - createBulkEnvironmentVariablesForAccount(environmentVariablesData: [CreateSharedEnvironmentVariableInput!]!, accountId: ID!): [EnvironmentVariable!]! - - """ - Bulk link shared environment variables - """ - linkBulkSharedEnvironmentVariables(linkData: [LinkSharedEnvironmentVariableInput!]!): [EnvironmentVariable!]! -} - -input CreateFingerprintInput { - hash: String! - - source: FingerprintSourceInput -} - -type FingerprintMutation { - """ - Create or get an existing fingerprint for an App - """ - createOrGetExistingFingerprint(fingerprintData: CreateFingerprintInput!, appId: ID!): Fingerprint! -} - -input CreateGitHubAppInstallationInput { - installationIdentifier: Int! - - accountId: ID! -} - -type GitHubAppInstallationMutation { - """ - Create a GitHub App installation for an Account - """ - createGitHubAppInstallationForAccount(githubAppInstallationData: CreateGitHubAppInstallationInput!): GitHubAppInstallation! - - """ - Delete a GitHub App installation by ID - """ - deleteGitHubAppInstallation(githubAppInstallationId: ID!): GitHubAppInstallation! -} - -input GitHubBuildInput { - appId: ID! - - gitRef: String! - - platform: AppPlatform! - - buildProfile: String! - - baseDirectory: String - - autoSubmit: Boolean - - submitProfile: String - - environment: EnvironmentVariableEnvironment -} - -type GitHubAppMutation { - """ - Create a GitHub build for an app. Returns the ID of the background job receipt. Use BackgroundJobReceiptQuery to get the status of the job. - """ - createGitHubBuild(buildInput: GitHubBuildInput!): BackgroundJobReceipt! -} - -input CreateGitHubBuildTriggerInput { - appId: ID! - - type: GitHubBuildTriggerType! - - isActive: Boolean! - - """ - A branch or tag name, or a wildcard pattern where the code change originates from. For example, `main` or `release/*`. - """ - sourcePattern: String! - - """ - A branch name or a wildcard pattern that the pull request targets. For example, `main` or `release/*`. - """ - targetPattern: String - - buildProfile: String! - - platform: AppPlatform! - - autoSubmit: Boolean! - - submitProfile: String - - environment: EnvironmentVariableEnvironment - - executionBehavior: GitHubBuildTriggerExecutionBehavior! -} - -input UpdateGitHubBuildTriggerInput { - type: GitHubBuildTriggerType! - - isActive: Boolean! - - sourcePattern: String! - - targetPattern: String - - buildProfile: String! - - platform: AppPlatform! - - autoSubmit: Boolean! - - submitProfile: String - - environment: EnvironmentVariableEnvironment - - executionBehavior: GitHubBuildTriggerExecutionBehavior! -} - -type GitHubBuildTriggerMutation { - """ - Create GitHub build trigger for an App - """ - createGitHubBuildTrigger(githubBuildTriggerData: CreateGitHubBuildTriggerInput!): GitHubBuildTrigger! - - """ - Update a GitHub build trigger by ID - """ - updateGitHubBuildTrigger(githubBuildTriggerId: ID!, githubBuildTriggerData: UpdateGitHubBuildTriggerInput!): GitHubBuildTrigger! - - """ - Delete GitHub build trigger by ID - """ - deleteGitHubBuildTrigger(githubBuildTriggerId: ID!): GitHubBuildTrigger! -} - -input CreateGitHubJobRunTriggerInput { - appId: ID! - - jobType: GitHubJobRunJobType! - - isActive: Boolean! - - triggerType: GitHubJobRunTriggerType! - - sourcePattern: String! - - targetPattern: String -} - -input UpdateGitHubJobRunTriggerInput { - isActive: Boolean! - - sourcePattern: String! - - targetPattern: String -} - -type GitHubJobRunTriggerMutation { - createGitHubJobRunTrigger(gitHubJobRunTriggerData: CreateGitHubJobRunTriggerInput!): GitHubJobRunTrigger! - - updateGitHubJobRunTrigger(gitHubJobRunTriggerId: ID!, gitHubJobRunTriggerData: UpdateGitHubJobRunTriggerInput!): GitHubJobRunTrigger! - - deleteGitHubJobRunTrigger(gitHubJobRunTriggerId: ID!): GitHubJobRunTrigger! -} - -input CreateGitHubRepositoryInput { - githubAppInstallationId: ID! - - githubRepositoryIdentifier: Int! - - appId: ID! - - nodeIdentifier: String! -} - -input CreateAndConfigureRepositoryInput { - appId: ID! - - installationIdentifier: Int! -} - -type GitHubRepositoryMutation { - """ - Create a GitHub repository for an App - """ - createGitHubRepository(githubRepositoryData: CreateGitHubRepositoryInput!): GitHubRepository! - - """ - Delete a GitHub repository by ID - """ - deleteGitHubRepository(githubRepositoryId: ID!): GitHubRepository! - - """ - Configure EAS by pushing a commit to the default branch which updates or creates app.json, eas.json, and installs necessary dependencies. - """ - configureEAS(githubRepositoryId: ID!): BackgroundJobReceipt! - - createAndConfigureRepository(input: CreateAndConfigureRepositoryInput!): BackgroundJobReceipt! -} - -input CreateGitHubRepositorySettingsInput { - appId: ID! - - """ - The base directory is the directory to change to before starting a build. This string should be a properly formatted POSIX path starting with '/', './', or the name of the directory relative to the root of the repository. Valid examples include: '/apps/expo-app', './apps/expo-app', and 'apps/expo-app'. This is intended for monorepos or apps that live in a subdirectory of a repository. - """ - baseDirectory: String! -} - -input UpdateGitHubRepositorySettingsInput { - baseDirectory: String! -} - -type GitHubRepositorySettingsMutation { - """ - Create GitHub repository settings for an App - """ - createGitHubRepositorySettings(githubRepositorySettingsData: CreateGitHubRepositorySettingsInput!): GitHubRepositorySettings! - - """ - Update GitHub repository settings - """ - updateGitHubRepositorySettings(githubRepositorySettingsId: ID!, githubRepositorySettingsData: UpdateGitHubRepositorySettingsInput!): GitHubRepositorySettings! - - """ - Delete GitHub repository settings by ID - """ - deleteGitHubRepositorySettings(githubRepositorySettingsId: ID!): GitHubRepositorySettings! -} - -type DeleteGitHubUserResult { - id: ID! -} - -type GitHubUserMutation { - """ - Delete a GitHub User by ID - """ - deleteGitHubUser(id: ID!): DeleteGitHubUserResult! - - """ - Generate a GitHub User Access Token - """ - generateGitHubUserAccessToken: String -} - -input GoogleServiceAccountKeyInput { - jsonKey: JSONObject! -} - -type DeleteGoogleServiceAccountKeyResult { - id: ID! -} - -type GoogleServiceAccountKeyMutation { - """ - Create a Google Service Account Key - """ - createGoogleServiceAccountKey(googleServiceAccountKeyInput: GoogleServiceAccountKeyInput!, accountId: ID!): GoogleServiceAccountKey! - - """ - Delete a Google Service Account Key - """ - deleteGoogleServiceAccountKey(id: ID!): DeleteGoogleServiceAccountKeyResult! -} - -input IosAppBuildCredentialsInput { - iosDistributionType: IosDistributionType! - - distributionCertificateId: ID! - - provisioningProfileId: ID! -} - -type DeleteIosAppBuildCredentialsResult { - id: ID! -} - -type IosAppBuildCredentialsMutation { - """ - Create a set of build credentials for an iOS app - """ - createIosAppBuildCredentials(iosAppBuildCredentialsInput: IosAppBuildCredentialsInput!, iosAppCredentialsId: ID!): IosAppBuildCredentials! - - """ - Set the distribution certificate to be used for an iOS app - """ - setDistributionCertificate(id: ID!, distributionCertificateId: ID!): IosAppBuildCredentials! - - """ - Set the provisioning profile to be used for an iOS app - """ - setProvisioningProfile(id: ID!, provisioningProfileId: ID!): IosAppBuildCredentials! - - """ - Disassociate the build credentials from an iOS app - """ - deleteIosAppBuildCredentials(id: ID!): DeleteIosAppBuildCredentialsResult! -} - -input IosAppCredentialsInput { - appleTeamId: ID - - pushKeyId: ID - - appStoreConnectApiKeyForSubmissionsId: ID - - appStoreConnectApiKeyForBuildsId: ID -} - -type DeleteIosAppCredentialsResult { - id: ID! -} - -type IosAppCredentialsMutation { - """ - Create a set of credentials for an iOS app - """ - createIosAppCredentials(iosAppCredentialsInput: IosAppCredentialsInput!, appId: ID!, appleAppIdentifierId: ID!): IosAppCredentials! - - """ - Update a set of credentials for an iOS app - """ - updateIosAppCredentials(id: ID!, iosAppCredentialsInput: IosAppCredentialsInput!): IosAppCredentials! - - """ - Set the push key to be used in an iOS app - """ - setPushKey(id: ID!, pushKeyId: ID!): IosAppCredentials! - - """ - Set the App Store Connect Api Key to be used for submitting an iOS app - """ - setAppStoreConnectApiKeyForSubmissions(id: ID!, ascApiKeyId: ID!): IosAppCredentials! - - """ - Delete a set of credentials for an iOS app - """ - deleteIosAppCredentials(id: ID!): DeleteIosAppCredentialsResult! -} - -input IosJobInput { - mode: BuildMode - - type: BuildWorkflow! - - triggeredBy: BuildTrigger - - projectArchive: ProjectArchiveSourceInput! - - projectRootDirectory: String! - - releaseChannel: String - - updates: BuildUpdatesInput - - """ - @deprecated - """ - distribution: DistributionType - - simulator: Boolean - - developmentClient: Boolean - - secrets: IosJobSecretsInput - - builderEnvironment: IosBuilderEnvironmentInput - - cache: BuildCacheInput - - version: IosJobVersionInput - - buildProfile: String - - environment: EnvironmentVariableEnvironment - - scheme: String - - buildConfiguration: String - - """ - @deprecated - """ - artifactPath: String - - applicationArchivePath: String - - buildArtifactPaths: [String!] - - """ - @deprecated - """ - buildType: IosBuildType - - username: String - - customBuildConfig: CustomBuildConfigInput - - loggerLevel: WorkerLoggerLevel - - experimental: JSONObject -} - -input IosJobOverridesInput { - mode: BuildMode - - type: BuildWorkflow - - releaseChannel: String - - updates: BuildUpdatesInput - - """ - @deprecated - """ - distribution: DistributionType - - simulator: Boolean - - developmentClient: Boolean - - secrets: IosJobSecretsInput - - builderEnvironment: IosBuilderEnvironmentInput - - cache: BuildCacheInput - - version: IosJobVersionInput - - resign: BuildResignInput - - buildProfile: String - - scheme: String - - buildConfiguration: String - - """ - @deprecated - """ - artifactPath: String - - applicationArchivePath: String - - buildArtifactPaths: [String!] - - """ - @deprecated - """ - buildType: IosBuildType - - username: String - - customBuildConfig: CustomBuildConfigInput - - loggerLevel: WorkerLoggerLevel - - experimental: JSONObject -} - -input IosJobSecretsInput { - buildCredentials: [IosJobTargetCredentialsInput] - - robotAccessToken: String -} - -input IosJobTargetCredentialsInput { - targetName: String! - - provisioningProfileBase64: String! - - distributionCertificate: IosJobDistributionCertificateInput! -} - -input IosJobDistributionCertificateInput { - dataBase64: String! - - password: String! -} - -input IosBuilderEnvironmentInput { - image: String - - node: String - - corepack: Boolean - - yarn: String - - pnpm: String - - bun: String - - bundler: String - - fastlane: String - - cocoapods: String - - expoCli: String - - env: JSONObject -} - -input IosJobVersionInput { - buildNumber: String! -} - -enum IosSchemeBuildConfiguration { - RELEASE - - DEBUG -} - -""" -@deprecated Use developmentClient option instead. -""" -enum IosBuildType { - RELEASE - - DEVELOPMENT_CLIENT -} - -""" -@deprecated Use developmentClient option instead. -""" -enum IosManagedBuildType { - RELEASE - - DEVELOPMENT_CLIENT -} - -type JobRunMutation { - """ - Cancel an EAS Job Run - """ - cancelJobRun(jobRunId: ID!): JobRun! -} - -type KeystoreGenerationUrlMutation { - """ - Create a Keystore Generation URL - """ - createKeystoreGenerationUrl: KeystoreGenerationUrl! -} - -enum LocalBuildArchiveSourceType { - GCS -} - -input LocalBuildArchiveSourceInput { - type: LocalBuildArchiveSourceType! - - bucketKey: String! -} - -input LocalBuildJobInput { - platform: AppPlatform! - - developmentClient: Boolean - - simulator: Boolean -} - -input GenerateLogRocketOrganizationLinkingURLInput { - accountId: ID! - - callbackUrl: String! -} - -type GenerateLogRocketOrganizationLinkResult { - url: String! -} - -type GenerateLogRocketReplayTokenResult { - orgSlug: String! - - replayToken: String! -} - -input LinkLogRocketOrganizationToExpoAccountInput { - state: String! - - client_id: String! - - client_secret: String! - - orgSlug: String! - - orgName: String! - - accountId: ID! -} - -type DeleteLogRocketOrganizationResult { - accountId: ID! -} - -type LogRocketOrganizationMutation { - """ - Generate a LogRocket linking URL - """ - generateLogRocketOrganizationLinkingURL(input: GenerateLogRocketOrganizationLinkingURLInput!): GenerateLogRocketOrganizationLinkResult! - - """ - Link a LogRocket organization to an Expo account - """ - linkLogRocketOrganizationToExpoAccount(input: LinkLogRocketOrganizationToExpoAccountInput!): LogRocketOrganization! - - """ - Delete a LogRocket organization by ID - """ - deleteLogRocketOrganization(accountId: ID!): DeleteLogRocketOrganizationResult! - - """ - Generate a LogRocket replay token for an organization - """ - generateLogRocketReplayToken(accountId: ID!): GenerateLogRocketReplayTokenResult! -} - -type DeleteLogRocketProjectResult { - id: ID! -} - -type LogRocketProjectMutation { - """ - Create a LogRocket project - """ - createLogRocketProject(appId: ID!, logRocketProjectSlug: String!): LogRocketProject! - - """ - Delete a LogRocket project by ID - """ - deleteLogRocketProject(logRocketProjectId: ID!): DeleteLogRocketProjectResult! -} - -input AccountNotificationSubscriptionInput { - type: NotificationType! - - event: NotificationEvent! - - userId: ID! - - accountId: ID! -} - -input AppNotificationSubscriptionInput { - type: NotificationType! - - event: NotificationEvent! - - userId: ID! - - appId: ID! -} - -type SubscribeToNotificationResult { - notificationSubscription: NotificationSubscription! -} - -type UnsubscribeFromNotificationResult { - notificationSubscription: NotificationSubscription! -} - -type NotificationSubscriptionMutation { - subscribeToEventForAccount(input: AccountNotificationSubscriptionInput!): SubscribeToNotificationResult! - - subscribeToEventForApp(input: AppNotificationSubscriptionInput!): SubscribeToNotificationResult! - - unsubscribe(id: ID!): UnsubscribeFromNotificationResult! -} - -input RobotDataInput { - name: String -} - -type DeleteRobotResult { - id: ID! -} - -type RobotMutation { - """ - Create a Robot and grant it Permissions on an Account - """ - createRobotForAccount(robotData: RobotDataInput, accountID: String!, permissions: [Permission]!): Robot! - - """ - Update a Robot - """ - updateRobot(id: String!, robotData: RobotDataInput!): Robot! - - """ - Schedule deletion of a Robot - """ - scheduleRobotDeletion(id: ID!): BackgroundJobReceipt! -} - -type GenerateSentryTokenResult { - orgSlug: String! - - installationId: ID! - - token: String! -} - -input LinkSentryInstallationToExpoAccountInput { - code: String! - - installationId: ID! - - sentryOrgSlug: String! - - accountId: ID! -} - -type SentryInstallationMutation { - """ - Link a Sentry installation to an Expo account - """ - linkSentryInstallationToExpoAccount(input: LinkSentryInstallationToExpoAccountInput!): PendingSentryInstallation! - - """ - Confirm a pending Sentry installation - """ - confirmPendingSentryInstallation(installationId: ID!): SentryInstallation! - - """ - Generate a Sentry token for an installation - """ - generateSentryToken(accountId: ID!): GenerateSentryTokenResult! -} - -type DeleteSentryProjectResult { - id: ID! -} - -input CreateSentryProjectInput { - appId: ID! - - sentryProjectSlug: String! - - sentryProjectId: String! -} - -type SentryProjectMutation { - """ - Create a Sentry project - """ - createSentryProject(input: CreateSentryProjectInput!): SentryProject! - - """ - Delete a Sentry project by ID - """ - deleteSentryProject(sentryProjectId: ID!): DeleteSentryProjectResult! -} - -type SubmissionMutation { - """ - Create an iOS EAS Submit submission - """ - createIosSubmission(input: CreateIosSubmissionInput!): CreateSubmissionResult! - - """ - Create an Android EAS Submit submission - """ - createAndroidSubmission(input: CreateAndroidSubmissionInput!): CreateSubmissionResult! - - """ - Cancel an EAS Submit submission - """ - cancelSubmission(submissionId: ID!): Submission! - - """ - Retry an EAS Submit submission - """ - retrySubmission(parentSubmissionId: ID!): CreateSubmissionResult! -} - -input CreateIosSubmissionInput { - appId: ID! - - archiveUrl: String - - archiveSource: SubmissionArchiveSourceInput - - config: IosSubmissionConfigInput! - - submittedBuildId: ID -} - -input CreateAndroidSubmissionInput { - appId: ID! - - archiveUrl: String - - archiveSource: SubmissionArchiveSourceInput - - config: AndroidSubmissionConfigInput! - - submittedBuildId: ID -} - -input AscApiKeyInput { - keyP8: String! - - keyIdentifier: String! - - issuerIdentifier: String! -} - -input IosSubmissionConfigInput { - appleAppSpecificPassword: String - - ascApiKey: AscApiKeyInput - - ascApiKeyId: String - - archiveUrl: String - - appleIdUsername: String - - ascAppIdentifier: String! - - isVerboseFastlaneEnabled: Boolean - - changelog: String - - groups: [String!] -} - -input AndroidSubmissionConfigInput { - googleServiceAccountKeyId: String - - googleServiceAccountKeyJson: String - - archiveUrl: String - - applicationIdentifier: String - - track: SubmissionAndroidTrack! - - releaseStatus: SubmissionAndroidReleaseStatus - - rollout: Float - - changesNotSentForReview: Boolean - - changelog: String - - isVerboseFastlaneEnabled: Boolean -} - -enum SubmissionArchiveSourceType { - GCS_BUILD_APPLICATION_ARCHIVE - - GCS_BUILD_APPLICATION_ARCHIVE_ORCHESTRATOR - - GCS_SUBMIT_ARCHIVE - - URL -} - -input SubmissionArchiveSourceInput { - type: SubmissionArchiveSourceType! - - """ - Required if the archive source type is GCS_BUILD_APPLICATION_ARCHIVE, GCS_BUILD_APPLICATION_ARCHIVE_ORCHESTRATOR or GCS_SUBMIT_ARCHIVE - """ - bucketKey: String - - """ - Required if the archive source type is URL - """ - url: String -} - -type CreateSubmissionResult { - """ - Created submission - """ - submission: Submission! -} - -type DeleteUpdateBranchResult { - id: ID! -} - -input PartialManifestAsset { - fileSHA256: String! - - bundleKey: String! - - contentType: String! - - fileExtension: String - - storageKey: String! -} - -input PartialManifest { - launchAsset: PartialManifestAsset! - - assets: [PartialManifestAsset]! - - extra: JSONObject -} - -input UpdateInfoGroup { - android: PartialManifest - - ios: PartialManifest - - web: PartialManifest -} - -input UpdateRollBackToEmbeddedGroup { - android: Boolean - - ios: Boolean - - web: Boolean -} - -input UpdateRolloutInfo { - rolloutControlUpdateId: ID - - rolloutPercentage: Int! -} - -input UpdateRolloutInfoGroup { - android: UpdateRolloutInfo - - ios: UpdateRolloutInfo - - web: UpdateRolloutInfo -} - -input FingerprintInfoGroup { - android: FingerprintInfo - - ios: FingerprintInfo - - web: FingerprintInfo -} - -input FingerprintInfo { - fingerprintHash: String! - - fingerprintSource: FingerprintSourceInput! -} - -enum AssetMapSourceType { - GCS -} - -input AssetMapSourceInput { - type: AssetMapSourceType - - bucketKey: String -} - -input AssetMapGroup { - android: AssetMapSourceInput - - ios: AssetMapSourceInput - - web: AssetMapSourceInput -} - -input PublishUpdateGroupInput { - branchId: String! - - updateInfoGroup: UpdateInfoGroup - - rollBackToEmbeddedInfoGroup: UpdateRollBackToEmbeddedGroup - - rolloutInfoGroup: UpdateRolloutInfoGroup - - runtimeVersion: String! - - runtimeFingerprintSource: FingerprintSourceInput @deprecated(reason: "Use fingerprintInfoGroup instead") - - fingerprintInfoGroup: FingerprintInfoGroup - - assetMapGroup: AssetMapGroup - - message: String - - gitCommitHash: String - - isGitWorkingTreeDirty: Boolean - - awaitingCodeSigningInfo: Boolean - - excludedAssets: [PartialManifestAsset!] - - turtleJobRunId: String - - environment: EnvironmentVariableEnvironment - - manifestHostOverride: String - - assetHostOverride: String -} - -input EditUpdateBranchInput { - id: ID - - appId: ID - - name: String - - newName: String! -} - -type UpdateBranchMutation { - """ - Create an EAS branch for an app - """ - createUpdateBranchForApp(appId: ID!, name: String!): UpdateBranch! - - """ - Edit an EAS branch. The branch can be specified either by its ID or - with the combination of (appId, name). - """ - editUpdateBranch(input: EditUpdateBranchInput!): UpdateBranch! - - """ - Delete an EAS branch and all of its updates as long as the branch is not being used by any channels - """ - deleteUpdateBranch(branchId: ID!): DeleteUpdateBranchResult! - - """ - Publish an update group to a branch - """ - publishUpdateGroups(publishUpdateGroupsInput: [PublishUpdateGroupInput!]!): [Update!]! -} - -type DeleteUpdateChannelResult { - id: ID! -} - -type UpdateChannelMutation { - """ - Create an EAS channel for an app. - - In order to work with GraphQL formatting, the branchMapping should be a - stringified JSON supplied to the mutation as a variable. - """ - createUpdateChannelForApp(appId: ID!, name: String!, branchMapping: String): UpdateChannel! - - """ - Edit an EAS channel. - - In order to work with GraphQL formatting, the branchMapping should be a - stringified JSON supplied to the mutation as a variable. - """ - editUpdateChannel(channelId: ID!, branchMapping: String!): UpdateChannel! - - """ - delete an EAS channel that doesn't point to any branches - """ - deleteUpdateChannel(channelId: ID!): DeleteUpdateChannelResult! - - """ - Pause updates for an EAS channel. - """ - pauseUpdateChannel(channelId: ID!): UpdateChannel! - - """ - Resume updates for an EAS channel. - """ - resumeUpdateChannel(channelId: ID!): UpdateChannel! -} - -type DeleteUpdateGroupResult { - group: ID! -} - -input CodeSigningInfoInput { - sig: String! - - keyid: String! - - alg: String! -} - -type UpdateMutation { - """ - Delete an EAS update group - """ - deleteUpdateGroup(group: ID!): DeleteUpdateGroupResult! @deprecated(reason: "Use scheduleUpdateGroupDeletion instead") - - """ - Delete an EAS update group in the background - """ - scheduleUpdateGroupDeletion(group: ID!): BackgroundJobReceipt! - - """ - Set code signing info for an update - """ - setCodeSigningInfo(updateId: ID!, codeSigningInfo: CodeSigningInfoInput!): Update! - - """ - Set rollout percentage for an update - """ - setRolloutPercentage(updateId: ID!, percentage: Int!): Update! -} - -enum UploadSessionType { - EAS_BUILD_PROJECT_SOURCES @deprecated(reason: "Use EAS_BUILD_GCS_PROJECT_SOURCES instead.") - - EAS_SUBMIT_APP_ARCHIVE @deprecated(reason: "Use EAS_SUBMIT_GCS_APP_ARCHIVE instead.") - - EAS_BUILD_GCS_PROJECT_SOURCES - - EAS_BUILD_GCS_PROJECT_METADATA - - EAS_SUBMIT_GCS_APP_ARCHIVE - - EAS_UPDATE_FINGERPRINT - - EAS_SHARE_GCS_APP_ARCHIVE - - EAS_UPDATE_ASSETS_METADATA -} - -enum AccountUploadSessionType { - WORKFLOWS_PROJECT_SOURCES - - PROFILE_IMAGE_UPLOAD -} - -enum AppUploadSessionType { - PROFILE_IMAGE_UPLOAD -} - -type UploadSession { - """ - Create an Upload Session - """ - createUploadSession(type: UploadSessionType!, filename: String): JSONObject! - - """ - Create an Upload Session for a specific account - """ - createAccountScopedUploadSession(type: AccountUploadSessionType!, accountID: ID!): JSONObject! - - """ - Create an Upload Session for a specific app - """ - createAppScopedUploadSession(type: AppUploadSessionType!, appID: ID!): JSONObject! -} - -type UserAppPinMutation { - pinApp(appId: ID!): ID! - - unpinApp(appId: ID!): ID -} - -type RescindUserInvitationResult { - id: ID! -} - -type AcceptUserInvitationResult { - success: Boolean! -} - -type UserInvitationMutation { - """ - Create a UserInvitation for an email that when accepted grants - the specified permissions on an Account - """ - createUserInvitationForAccount(accountID: ID!, email: String!, permissions: [Permission]!): UserInvitation! - - """ - Re-send UserInivitation by ID - """ - resendUserInvitation(id: ID!): UserInvitation! - - """ - Rescind UserInvitation by ID - """ - deleteUserInvitation(id: ID!): RescindUserInvitationResult! - - """ - Delete UserInvitation by token. Note that the viewer's email is not required to match - the email on the invitation. - """ - deleteUserInvitationByToken(token: ID!): RescindUserInvitationResult! - - """ - Accept UserInvitation by ID. Viewer must have matching email and email must be verified. - """ - acceptUserInvitationAsViewer(id: ID!): AcceptUserInvitationResult! - - """ - Accept UserInvitation by token. Note that the viewer's email is not required to match - the email on the invitation. If viewer's email does match that of the invitation, - their email will also be verified. - """ - acceptUserInvitationByTokenAsViewer(token: ID!): AcceptUserInvitationResult! -} - -input SSOUserDataInput { - firstName: String - - lastName: String - - industry: String @deprecated(reason: "No longer supported") - - location: String @deprecated(reason: "No longer supported") - - githubUsername: String @deprecated(reason: "No longer supported") - - twitterUsername: String @deprecated(reason: "No longer supported") -} - -input UserDataInput { - id: ID - - username: String - - email: String - - firstName: String - - lastName: String - - fullName: String - - profilePhoto: String - - industry: String @deprecated(reason: "No longer supported") - - location: String @deprecated(reason: "No longer supported") - - githubUsername: String @deprecated(reason: "No longer supported") - - twitterUsername: String @deprecated(reason: "No longer supported") - - appetizeCode: String @deprecated(reason: "No longer supported") -} - -input AppDataInput { - id: ID! - - privacy: String - - internalDistributionBuildPrivacy: AppInternalDistributionBuildPrivacy -} - -input AccountDataInput { - name: String! -} - -type DeleteAccountResult { - id: ID! -} - -type LeaveAccountResult { - success: Boolean! -} - -type DeleteSSOUserResult { - id: ID! -} - -input SecondFactorDeviceConfiguration { - method: SecondFactorMethod! - - smsPhoneNumber: String - - name: String! - - isPrimary: Boolean! -} - -type SecondFactorDeviceConfigurationResult { - secondFactorDevice: UserSecondFactorDevice! - - secret: String! - - keyURI: String! -} - -type SecondFactorInitiationResult { - configurationResults: [SecondFactorDeviceConfigurationResult!]! - - plaintextBackupCodes: [String!]! -} - -type SecondFactorRegenerateBackupCodesResult { - plaintextBackupCodes: [String!]! -} - -type SecondFactorBooleanResult { - success: Boolean! -} - -input UserPreferencesOnboardingInput { - appId: ID! - - lastUsed: String! - - deviceType: OnboardingDeviceType - - environment: OnboardingEnvironment - - platform: AppPlatform - - isCLIDone: Boolean -} - -input UserPreferencesInput { - selectedAccountName: String - - onboarding: UserPreferencesOnboardingInput -} - -type MeMutation { - """ - Update the current regular user's data - """ - updateProfile(userData: UserDataInput!): User! - - """ - Schedule deletion of the current regular user - """ - scheduleCurrentUserDeletion: BackgroundJobReceipt! - - """ - Update the current SSO user's data - """ - updateSSOProfile(userData: SSOUserDataInput!): SSOUser! - - """ - Update an App that the current user owns - """ - updateApp(appData: AppDataInput!): App! - - """ - Transfer project to a different Account - """ - transferApp(appId: ID!, destinationAccountId: ID!): App! - - """ - Delete a Snack that the current user owns - """ - deleteSnack(snackId: ID!): Snack! - - """ - Create a new Account and grant this User the owner Role - """ - createAccount(accountData: AccountDataInput!): Account! - - """ - Schedule deletion for Account created via createAccount - """ - scheduleAccountDeletion(accountId: ID!): BackgroundJobReceipt! - - """ - Leave an Account (revoke own permissions on Account) - """ - leaveAccount(accountId: ID!): LeaveAccountResult! - - """ - Schedule deletion of a SSO user. Actor must be an owner on the SSO user's SSO account. - """ - scheduleSSOUserDeletionAsSSOAccountOwner(ssoUserId: ID!): BackgroundJobReceipt! - - """ - Initiate setup of two-factor authentication for the current user - """ - initiateSecondFactorAuthentication(deviceConfigurations: [SecondFactorDeviceConfiguration!]!, recaptchaResponseToken: String): SecondFactorInitiationResult! - - """ - Purge unfinished two-factor authentication setup for the current user if not fully-set-up - """ - purgeUnfinishedSecondFactorAuthentication: SecondFactorBooleanResult! - - """ - Regenerate backup codes for the current user - """ - regenerateSecondFactorBackupCodes(otp: String): SecondFactorRegenerateBackupCodesResult! - - """ - Send SMS OTP to a second factor device for use during device setup or during change confirmation - """ - sendSMSOTPToSecondFactorDevice(userSecondFactorDeviceId: ID!): SecondFactorBooleanResult! - - """ - Certify an initiated second factor authentication method for the current user - """ - certifySecondFactorDevice(otp: String!): SecondFactorBooleanResult! - - """ - Set the user's primary second factor device - """ - setPrimarySecondFactorDevice(userSecondFactorDeviceId: ID!): SecondFactorBooleanResult! - - """ - Add an additional second factor device - """ - addSecondFactorDevice(deviceConfiguration: SecondFactorDeviceConfiguration!, otp: String): SecondFactorDeviceConfigurationResult! - - """ - Delete a second factor device - """ - deleteSecondFactorDevice(userSecondFactorDeviceId: ID!, otp: String): SecondFactorBooleanResult! - - """ - Disable all second factor authentication for the current user - """ - disableSecondFactorAuthentication(otp: String): SecondFactorBooleanResult! - - """ - Sets user preferences. This is a key-value store for user-specific settings. Provided values are - key-level merged with existing values. - """ - setPreferences(preferences: UserPreferencesInput!): UserPreferences! -} - -type WebhookMutation { - """ - Create a Webhook - """ - createWebhook(appId: String!, webhookInput: WebhookInput!): Webhook! - - """ - Update a Webhook - """ - updateWebhook(webhookId: ID!, webhookInput: WebhookInput!): Webhook! - - """ - Delete a Webhook - """ - deleteWebhook(webhookId: ID!): DeleteWebhookResult! -} - -input WebhookInput { - url: String! - - secret: String! - - event: WebhookType! -} - -type DeleteWebhookResult { - id: ID! -} - -input WebNotificationUpdateReadStateInput { - id: ID! - - isRead: Boolean! -} - -type WebsiteNotificationMutation { - updateNotificationReadState(input: WebNotificationUpdateReadStateInput!): Notification! - - updateAllWebsiteNotificationReadStateAsRead: Boolean! -} - -type CustomDomainMutation { - registerCustomDomain(appId: ID!, aliasName: WorkerDeploymentIdentifier, hostname: String!): WorkerCustomDomain! - - refreshCustomDomain(customDomainId: ID!): WorkerCustomDomain! - - deleteCustomDomain(customDomainId: ID!): DeleteCustomDomainResult! -} - -type DeleteCustomDomainResult { - id: ID! - - appId: ID! - - hostname: String! -} - -type WorkflowJobApprovalMutation { - setWorkflowJobApprovalDecision(workflowJobId: ID!, decision: WorkflowJobReviewDecision!): WorkflowJobApproval! -} - -type WorkflowRevisionMutation { - validateWorkflowYamlConfig(yamlConfig: String!, appId: ID!): Boolean! -} - -input WorkflowRevisionInput { - fileName: String! - - yamlConfig: String! -} - -enum WorkflowProjectSourceType { - GCS -} - -input WorkflowProjectSourceInput { - type: WorkflowProjectSourceType! - - projectArchiveBucketKey: String! - - easJsonBucketKey: String - - packageJsonBucketKey: String - - projectRootDirectory: String -} - -input WorkflowRunInput { - projectSource: WorkflowProjectSourceInput! -} - -type WorkflowRunMutation { - createWorkflowRun(appId: ID!, workflowRevisionInput: WorkflowRevisionInput!, workflowRunInput: WorkflowRunInput!): WorkflowRun! - - retryWorkflowRun(workflowRunId: ID!, fromFailedJobs: Boolean): WorkflowRun! - - cancelWorkflowRun(workflowRunId: ID!): WorkflowRun! -} - -""" -A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations. -""" -type __Schema { - description: String - - """ - A list of all types supported by this server. - """ - types: [__Type!]! - - """ - The type that query operations will be rooted at. - """ - queryType: __Type! - - """ - If this server supports mutation, the type that mutation operations will be rooted at. - """ - mutationType: __Type - - """ - If this server support subscription, the type that subscription operations will be rooted at. - """ - subscriptionType: __Type - - """ - A list of all directives supported by this server. - """ - directives: [__Directive!]! -} - -""" -The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum. - -Depending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types. -""" -type __Type { - kind: __TypeKind! - - name: String - - description: String - - specifiedByURL: String - - fields(includeDeprecated: Boolean = false): [__Field!] - - interfaces: [__Type!] - - possibleTypes: [__Type!] - - enumValues(includeDeprecated: Boolean = false): [__EnumValue!] - - inputFields(includeDeprecated: Boolean = false): [__InputValue!] - - ofType: __Type - - isOneOf: Boolean -} - -""" -An enum describing what kind of type a given `__Type` is. -""" -enum __TypeKind { - """ - Indicates this type is a scalar. - """ - SCALAR - - """ - Indicates this type is an object. `fields` and `interfaces` are valid fields. - """ - OBJECT - - """ - Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields. - """ - INTERFACE - - """ - Indicates this type is a union. `possibleTypes` is a valid field. - """ - UNION - - """ - Indicates this type is an enum. `enumValues` is a valid field. - """ - ENUM - - """ - Indicates this type is an input object. `inputFields` is a valid field. - """ - INPUT_OBJECT - - """ - Indicates this type is a list. `ofType` is a valid field. - """ - LIST - - """ - Indicates this type is a non-null. `ofType` is a valid field. - """ - NON_NULL -} - -""" -Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type. -""" -type __Field { - name: String! - - description: String - - args(includeDeprecated: Boolean = false): [__InputValue!]! - - type: __Type! - - isDeprecated: Boolean! - - deprecationReason: String -} - -""" -Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value. -""" -type __InputValue { - name: String! - - description: String - - type: __Type! - - """ - A GraphQL-formatted string representing the default value for this input value. - """ - defaultValue: String - - isDeprecated: Boolean! - - deprecationReason: String -} - -""" -One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string. -""" -type __EnumValue { - name: String! - - description: String - - isDeprecated: Boolean! - - deprecationReason: String -} - -""" -A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. - -In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor. -""" -type __Directive { - name: String! - - description: String - - isRepeatable: Boolean! - - locations: [__DirectiveLocation!]! - - args(includeDeprecated: Boolean = false): [__InputValue!]! -} - -""" -A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies. -""" -enum __DirectiveLocation { - """ - Location adjacent to a query operation. - """ - QUERY - - """ - Location adjacent to a mutation operation. - """ - MUTATION - - """ - Location adjacent to a subscription operation. - """ - SUBSCRIPTION - - """ - Location adjacent to a field. - """ - FIELD - - """ - Location adjacent to a fragment definition. - """ - FRAGMENT_DEFINITION - - """ - Location adjacent to a fragment spread. - """ - FRAGMENT_SPREAD - - """ - Location adjacent to an inline fragment. - """ - INLINE_FRAGMENT - - """ - Location adjacent to a variable definition. - """ - VARIABLE_DEFINITION - - """ - Location adjacent to a schema definition. - """ - SCHEMA - - """ - Location adjacent to a scalar definition. - """ - SCALAR - - """ - Location adjacent to an object type definition. - """ - OBJECT - - """ - Location adjacent to a field definition. - """ - FIELD_DEFINITION - - """ - Location adjacent to an argument definition. - """ - ARGUMENT_DEFINITION - - """ - Location adjacent to an interface definition. - """ - INTERFACE - - """ - Location adjacent to a union definition. - """ - UNION - - """ - Location adjacent to an enum definition. - """ - ENUM - - """ - Location adjacent to an enum value definition. - """ - ENUM_VALUE - - """ - Location adjacent to an input object type definition. - """ - INPUT_OBJECT - - """ - Location adjacent to an input object field definition. - """ - INPUT_FIELD_DEFINITION -} - -""" -Directs the executor to include this field or fragment only when the `if` argument is true. -""" -directive @include ("Included when true." if: Boolean!) on FIELD|FRAGMENT_SPREAD|INLINE_FRAGMENT - -""" -Directs the executor to skip this field or fragment when the `if` argument is true. -""" -directive @skip ("Skipped when true." if: Boolean!) on FIELD|FRAGMENT_SPREAD|INLINE_FRAGMENT - -""" -Marks an element of a GraphQL schema as no longer supported. -""" -directive @deprecated ("Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/)." reason: String = "No longer supported") on FIELD_DEFINITION|ARGUMENT_DEFINITION|INPUT_FIELD_DEFINITION|ENUM_VALUE - -""" -Exposes a URL that specifies the behavior of this scalar. -""" -directive @specifiedBy ("The URL that specifies the behavior of this scalar." url: String!) on SCALAR - -""" -Indicates exactly one field must be supplied and this field must not be `null`. -""" -directive @oneOf on INPUT_OBJECT - -schema { - query: RootQuery - mutation: RootMutation -} diff --git a/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/compose/models/BranchViewModel.kt b/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/compose/models/BranchViewModel.kt index f2e0cc3f339d02..ece77bc1a1caf3 100644 --- a/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/compose/models/BranchViewModel.kt +++ b/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/compose/models/BranchViewModel.kt @@ -6,9 +6,9 @@ import androidx.lifecycle.viewModelScope import expo.modules.devlauncher.DevLauncherController import expo.modules.devlauncher.compose.Update import expo.modules.devlauncher.compose.utils.formatUpdateUrl -import expo.modules.devlauncher.services.ApolloClientService import expo.modules.devlauncher.services.AppService import expo.modules.devlauncher.services.ApplicationInfo +import expo.modules.devlauncher.services.GraphQLService import expo.modules.devlauncher.services.inject import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted.Companion.WhileSubscribed @@ -28,7 +28,7 @@ data class BranchState( class BranchViewModel(private val branchName: String) : ViewModel() { private val appService = inject() - private val apolloClientService = inject() + private val graphQLService = inject() private val launcher = inject() private val hasMore = mutableStateOf(true) @@ -54,10 +54,7 @@ class BranchViewModel(private val branchName: String) : ViewModel() { return } - val updateConfiguration = appService.applicationInfo as? ApplicationInfo.Updates - if (updateConfiguration == null) { - return - } + val updateConfiguration = appService.applicationInfo as? ApplicationInfo.Updates ?: return _state.value = _state.value.copy(isLoading = true) @@ -65,18 +62,18 @@ class BranchViewModel(private val branchName: String) : ViewModel() { val runtimeVersion = updateConfiguration.runtimeVersion val limit = 50 - val updates = apolloClientService.fetchUpdates( + val updates = graphQLService.fetchUpdates( appId = appId, branchName = branchName, limit = limit, offset = _state.value.updates.size ) - val uiUpdates = updates.data?.app?.byId?.updateBranchByName?.updates?.map { update -> + val uiUpdates = updates.data?.updates?.map { update -> Update( id = update.id, name = update.message ?: "No message", - createdAt = update.createdAt as? String, + createdAt = update.createdAt, isCompatible = update.runtimeVersion == runtimeVersion, permalink = update.manifestPermalink ) diff --git a/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/compose/models/BranchesViewModel.kt b/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/compose/models/BranchesViewModel.kt index e4c800b4dee146..85fbefc3f25671 100644 --- a/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/compose/models/BranchesViewModel.kt +++ b/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/compose/models/BranchesViewModel.kt @@ -5,9 +5,9 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import expo.modules.devlauncher.compose.Branch import expo.modules.devlauncher.compose.Update -import expo.modules.devlauncher.services.ApolloClientService import expo.modules.devlauncher.services.AppService import expo.modules.devlauncher.services.ApplicationInfo +import expo.modules.devlauncher.services.GraphQLService import expo.modules.devlauncher.services.SessionService import expo.modules.devlauncher.services.UserState import expo.modules.devlauncher.services.inject @@ -30,7 +30,7 @@ data class BranchesState( ) class BranchesViewModel : ViewModel() { - private val apolloClientService = inject() + private val graphQLService = inject() private val appService = inject() private val sessionService = inject() @@ -59,7 +59,10 @@ class BranchesViewModel : ViewModel() { is UserState.LoggedIn -> { if (areUpdatesConfigured) { hasMore.value = true - _state.value.copy(branches = emptyList(), isLoading = true) + _state.value = _state.value.copy( + branches = emptyList(), + isLoading = true + ) viewModelScope.launch { loadMoreBranches() } @@ -109,36 +112,47 @@ class BranchesViewModel : ViewModel() { val limit = 50 val branches = if (runtimeVersion != null) { - apolloClientService.fetchBranches( - appId = appId, - runtimeVersion = runtimeVersion, - offset = _state.value.branches.size, - limit = limit - ).data?.app?.byId?.updateBranches?.map { updateBranch -> - Branch( - name = updateBranch.name, - compatibleUpdate = updateBranch.compatibleUpdates.firstOrNull()?.let { update -> - Update( - id = update.id, - name = update.message ?: "No message", - createdAt = update.createdAt as? String, - isCompatible = true, - permalink = update.manifestPermalink - ) - } + graphQLService + .fetchBranches( + appId = appId, + runtimeVersion = runtimeVersion, + offset = _state.value.branches.size, + limit = limit ) - } + .data + ?.updateBranches + ?.map { updateBranch -> + Branch( + name = updateBranch.name, + compatibleUpdate = updateBranch + .compatibleUpdates + .firstOrNull() + ?.let { update -> + Update( + id = update.id, + name = update.message ?: "No message", + createdAt = update.createdAt, + isCompatible = true, + permalink = update.manifestPermalink + ) + } + ) + } } else { - apolloClientService.fetchBranches( - appId = appId, - offset = _state.value.branches.size, - limit = limit - ).data?.app?.byId?.updateBranches?.map { updateBranch -> - Branch( - name = updateBranch.name, - compatibleUpdate = null + graphQLService + .fetchBranches( + appId = appId, + offset = _state.value.branches.size, + limit = limit ) - } + .data + ?.updateBranches + ?.map { updateBranch -> + Branch( + name = updateBranch.name, + compatibleUpdate = null + ) + } } ?: emptyList() hasMore.value = branches.size == limit diff --git a/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/compose/ui/AppHeader.kt b/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/compose/ui/AppHeader.kt index e1b597d01585a9..f7b0442475f2c6 100644 --- a/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/compose/ui/AppHeader.kt +++ b/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/compose/ui/AppHeader.kt @@ -15,10 +15,10 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.composeunstyled.Button -import expo.modules.devlauncher.MeQuery import expo.modules.devlauncher.compose.primitives.AsyncImage import expo.modules.devlauncher.services.AppService import expo.modules.devlauncher.services.SessionService +import expo.modules.devlauncher.services.UserAccount import expo.modules.devlauncher.services.UserState import expo.modules.devlauncher.services.inject import expo.modules.devmenu.compose.newtheme.NewAppTheme @@ -64,7 +64,7 @@ fun AppHeader( fun AppHeader( appName: String, modifier: Modifier = Modifier, - currentAccount: MeQuery.Account? = null, + currentAccount: UserAccount? = null, onProfileClick: () -> Unit = {} ) { Row( diff --git a/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/ApolloClientService.kt b/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/ApolloClientService.kt deleted file mode 100644 index b20213b1fc4d14..00000000000000 --- a/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/ApolloClientService.kt +++ /dev/null @@ -1,98 +0,0 @@ -package expo.modules.devlauncher.services - -import com.apollographql.apollo.ApolloClient -import com.apollographql.apollo.api.ApolloResponse -import com.apollographql.apollo.api.http.HttpHeader -import com.apollographql.apollo.network.okHttpClient -import expo.modules.devlauncher.GetBranchesQuery -import expo.modules.devlauncher.GetBranchesWithCompatibleUpdateQuery -import expo.modules.devlauncher.GetUpdatesWithFiltersQuery -import expo.modules.devlauncher.MeQuery -import expo.modules.devlauncher.type.AppPlatform - -class ApolloClientService( - httpClientService: HttpClientService -) { - private var _client = ApolloClient - .Builder() - .serverUrl("https://exp.host/--/graphql") - .okHttpClient(httpClientService.httpClient) - .build() - - val client: ApolloClient - get() = _client - - internal fun setSession(sessionSecret: String?) { - val newBuilder = _client.newBuilder() - - if (sessionSecret != null) { - newBuilder.httpHeaders( - listOf( - HttpHeader( - "expo-session", - sessionSecret - ) - ) - ) - } else { - newBuilder.httpHeaders(emptyList()) - } - - _client = newBuilder.build() - } - - suspend fun fetchMe(): ApolloResponse { - return client.query( - MeQuery() - ).execute() - } - - suspend fun fetchBranches( - appId: String, - runtimeVersion: String, - offset: Int = 0, - limit: Int = 50 - ): ApolloResponse { - return client.query( - GetBranchesWithCompatibleUpdateQuery( - appId = appId, - offset = offset, - limit = limit, - runtimeVersion = runtimeVersion, - platform = AppPlatform.ANDROID - ) - ).execute() - } - - suspend fun fetchBranches( - appId: String, - offset: Int = 0, - limit: Int = 50 - ): ApolloResponse { - return client.query( - GetBranchesQuery( - appId = appId, - offset = offset, - limit = limit, - platform = AppPlatform.ANDROID - ) - ).execute() - } - - suspend fun fetchUpdates( - appId: String, - branchName: String, - offset: Int = 0, - limit: Int = 50 - ): ApolloResponse { - return client.query( - GetUpdatesWithFiltersQuery( - appId = appId, - offset = offset, - limit = limit, - platform = AppPlatform.ANDROID, - branchName = branchName - ) - ).execute() - } -} diff --git a/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/DependencyInjection.kt b/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/DependencyInjection.kt index daf667f64fbb7f..fe842a6013e1fe 100644 --- a/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/DependencyInjection.kt +++ b/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/DependencyInjection.kt @@ -26,7 +26,7 @@ object DependencyInjection { var sessionService: SessionService? = null private set - var apolloClientService: ApolloClientService = ApolloClientService(httpClientService) + var graphQLService: GraphQLService = GraphQLService(httpClientService) private set var devLauncherController: DevLauncherController? = null @@ -66,7 +66,7 @@ object DependencyInjection { sessionService = SessionService( sessionStore = context.applicationContext.getSharedPreferences("expo.modules.devlauncher.session", Context.MODE_PRIVATE), - apolloClientService = apolloClientService, + graphQLService = graphQLService, httpClientService = httpClientService ) @@ -84,7 +84,7 @@ internal inline fun injectService(): T { DevMenuPreferences::class -> DependencyInjection.devMenuPreferences NsdPreferences::class -> DependencyInjection.nsdPreferences SessionService::class -> DependencyInjection.sessionService - ApolloClientService::class -> DependencyInjection.apolloClientService + GraphQLService::class -> DependencyInjection.graphQLService ImageLoaderService::class -> DependencyInjection.imageLoaderService HttpClientService::class -> DependencyInjection.httpClientService DevLauncherController::class -> DependencyInjection.devLauncherController diff --git a/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/GraphQLService.kt b/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/GraphQLService.kt new file mode 100644 index 00000000000000..375775e7488798 --- /dev/null +++ b/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/GraphQLService.kt @@ -0,0 +1,256 @@ +package expo.modules.devlauncher.services + +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import expo.modules.devlauncher.helpers.await +import okhttp3.MediaType.Companion.toMediaType +import okhttp3.Request +import okhttp3.RequestBody.Companion.toRequestBody + +const val graphQLEndpoint = "https://exp.host/--/graphql" + +private val jsonMediaType = "application/json".toMediaType() + +private const val ME_QUERY = """ +query Me { + meUserActor { + id + appCount + profilePhoto + username + isExpoAdmin + accounts { + id + name + ownerUserActor { + username + fullName + profilePhoto + } + } + } +} +""" + +private const val GET_BRANCHES_WITH_COMPATIBLE_UPDATE_QUERY = """ +query getBranchesWithCompatibleUpdate( + ${'$'}appId: String! + ${'$'}offset: Int! + ${'$'}limit: Int! + ${'$'}runtimeVersion: String! + ${'$'}platform: AppPlatform! +) { + app { + byId(appId: ${'$'}appId) { + updateBranches(offset: ${'$'}offset, limit: ${'$'}limit) { + id + name + + compatibleUpdates: updates( + offset: 0 + limit: 1 + filter: { runtimeVersions: [${'$'}runtimeVersion], platform: ${'$'}platform } + ) { + id + message + runtimeVersion + createdAt + manifestPermalink + } + } + } + } +} +""" + +private const val GET_BRANCHES_QUERY = """ +query getBranches( + ${'$'}appId: String! + ${'$'}offset: Int! + ${'$'}limit: Int! + ${'$'}platform: AppPlatform! +) { + app { + byId(appId: ${'$'}appId) { + updateBranches(offset: ${'$'}offset, limit: ${'$'}limit) { + id + name + } + } + } +} +""" + +private const val GET_UPDATES_WITH_FILTERS_QUERY = """ +query getUpdatesWithFilters( + ${'$'}appId: String! + ${'$'}branchName: String! + ${'$'}offset: Int! + ${'$'}limit: Int! + ${'$'}platform: AppPlatform! +) { + app { + byId(appId: ${'$'}appId) { + updateBranchByName(name: ${'$'}branchName) { + updates(offset: ${'$'}offset, limit: ${'$'}limit, filter: { platform: ${'$'}platform }) { + id + message + runtimeVersion + createdAt + manifestPermalink + } + } + } + } +} +""" + +data class GraphQLResponse( + val data: T? = null, + val errors: List? = null +) { + fun hasErrors() = !errors.isNullOrEmpty() +} + +data class GraphQLError(val message: String? = null) + +// Me +data class MeData(val meUserActor: MeUserActor? = null) { + val accounts: List + get() = meUserActor?.accounts ?: emptyList() +} + +data class MeUserActor( + val id: String, + val username: String? = null, + val accounts: List = emptyList() +) + +data class UserAccount( + val id: String, + val name: String, + val ownerUserActor: OwnerUserActor? = null +) + +data class OwnerUserActor(val profilePhoto: String? = null) + +// branches (covers both getBranches and getBranchesWithCompatibleUpdate) +data class BranchesData(val app: BranchesApp? = null) { + val updateBranches: List + get() = app?.byId?.updateBranches ?: emptyList() +} + +data class BranchesApp(val byId: BranchesById? = null) +data class BranchesById(val updateBranches: List = emptyList()) +data class UpdateBranch( + val id: String, + val name: String, + val compatibleUpdates: List = emptyList() +) + +// updates +data class UpdatesData(val app: UpdatesApp? = null) { + val updates: List + get() = app?.byId?.updateBranchByName?.updates ?: emptyList() +} + +data class UpdatesApp(val byId: UpdatesById? = null) +data class UpdatesById(val updateBranchByName: UpdateBranchByName? = null) +data class UpdateBranchByName(val updates: List = emptyList()) + +// shared update shape +data class UpdateInfo( + val id: String, + val message: String? = null, + val runtimeVersion: String? = null, + val createdAt: String? = null, + val manifestPermalink: String +) + +class GraphQLService( + private val httpClientService: HttpClientService +) { + private val gson = Gson() + + private inline fun Gson.fromJsonTyped(text: String): T = + fromJson(text, object : TypeToken() {}.type) + + private suspend inline fun execute( + query: String, + variables: Map + ): GraphQLResponse { + val payload = gson.toJson(mapOf("query" to query, "variables" to variables)) + val request = Request + .Builder() + .url(graphQLEndpoint) + .header("Content-Type", "application/json") + .post(payload.toRequestBody(jsonMediaType)) + .build() + + val response = request.await(httpClientService.httpClient) + if (!response.isSuccessful) { + throw IllegalStateException("GraphQL request failed: ${response.code} ${response.message}") + } + + val body = response.body?.string() + ?: throw IllegalStateException("GraphQL request returned an empty response body") + + return gson.fromJsonTyped(body) + } + + suspend fun fetchMe(): GraphQLResponse { + return execute(ME_QUERY, emptyMap()) + } + + suspend fun fetchBranches( + appId: String, + runtimeVersion: String, + offset: Int = 0, + limit: Int = 50 + ): GraphQLResponse { + return execute( + GET_BRANCHES_WITH_COMPATIBLE_UPDATE_QUERY, + mapOf( + "appId" to appId, + "offset" to offset, + "limit" to limit, + "runtimeVersion" to runtimeVersion, + "platform" to "ANDROID" + ) + ) + } + + suspend fun fetchBranches( + appId: String, + offset: Int = 0, + limit: Int = 50 + ): GraphQLResponse { + return execute( + GET_BRANCHES_QUERY, + mapOf( + "appId" to appId, + "offset" to offset, + "limit" to limit, + "platform" to "ANDROID" + ) + ) + } + + suspend fun fetchUpdates( + appId: String, + branchName: String, + offset: Int = 0, + limit: Int = 50 + ): GraphQLResponse { + return execute( + GET_UPDATES_WITH_FILTERS_QUERY, + mapOf( + "appId" to appId, + "branchName" to branchName, + "offset" to offset, + "limit" to limit, + "platform" to "ANDROID" + ) + ) + } +} diff --git a/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/HttpClientService.kt b/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/HttpClientService.kt index 049136e4a777a0..a6b25ab05ccb79 100644 --- a/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/HttpClientService.kt +++ b/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/HttpClientService.kt @@ -1,42 +1,19 @@ package expo.modules.devlauncher.services -import androidx.core.net.toUri import com.facebook.react.modules.network.OkHttpClientProvider -import expo.modules.devlauncher.helpers.await -import okhttp3.Request -import org.json.JSONObject -private const val restEndpoint = "https://exp.host/--/api/v2" - -data class DevelopmentSession( - val description: String, - val source: String, - val url: String -) { - constructor(json: JSONObject) : this( - description = json.getString("description"), - source = json.getString("source"), - url = json.getString("url").let { url -> - val parsed = url.toUri() - - if (parsed.host != "expo-development-client") { - return@let url - } - - val urlParameter = parsed.getQueryParameter("url") - urlParameter ?: url - } - ) -} - -class HttpClientService() { +class HttpClientService { private var currentSession: String? = null - val httpClient = OkHttpClientProvider.getOkHttpClient().newBuilder() + val httpClient = OkHttpClientProvider + .getOkHttpClient() + .newBuilder() .addInterceptor { chain -> val originalRequest = chain.request() val session = currentSession - if (session == null || !originalRequest.url.toString().startsWith(restEndpoint)) { + val url = originalRequest.url.toString() + val needsSession = url.startsWith(graphQLEndpoint) + if (session == null || !needsSession) { return@addInterceptor chain.proceed(originalRequest) } @@ -50,35 +27,4 @@ class HttpClientService() { internal fun setSession(sessionSecret: String?) { currentSession = sessionSecret } - - suspend fun fetchDevelopmentSession(): List { - if (currentSession === null) { - return emptyList() - } - - val request = Request.Builder() - .url("$restEndpoint/development-sessions") - .header("content-type", "application/json") - .build() - - val response = request.await(httpClient) - - if (!response.isSuccessful) { - throw IllegalStateException("Failed to fetch development session: ${response.code} ${response.message}") - } - - val body = response.body?.string() - if (body == null) { - return emptyList() - } - - return buildList { - val json = JSONObject(body) - val data = json.getJSONArray("data") - for (index in 0 until data.length()) { - val item = data.getJSONObject(index) - add(DevelopmentSession(json = item)) - } - } - } } diff --git a/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/SessionService.kt b/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/SessionService.kt index 52557ffe4f3aa1..bc6c9f4e09c323 100644 --- a/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/SessionService.kt +++ b/packages/expo-dev-launcher/android/src/debug/java/expo/modules/devlauncher/services/SessionService.kt @@ -2,7 +2,6 @@ package expo.modules.devlauncher.services import android.content.SharedPreferences import androidx.core.content.edit -import expo.modules.devlauncher.MeQuery import expo.modules.devlauncher.compose.Session import expo.modules.devlauncher.compose.saveToPreferences import kotlinx.coroutines.CoroutineScope @@ -18,17 +17,17 @@ sealed interface UserState { object LoggedOut : UserState object Fetching : UserState data class LoggedIn( - val data: MeQuery.Data, - val selectedAccount: MeQuery.Account? + val data: MeData, + val selectedAccount: UserAccount? ) : UserState } class SessionService( val sessionStore: SharedPreferences, - private val apolloClientService: ApolloClientService, + private val graphQLService: GraphQLService, private val httpClientService: HttpClientService ) { - private val _session = MutableStateFlow(restoreSession()) + private val _session = MutableStateFlow(restoreSession()) private val _user = MutableStateFlow(UserState.LoggedOut) val user @@ -45,7 +44,7 @@ class SessionService( _user.update { UserState.Fetching } - val me = apolloClientService.fetchMe() + val me = graphQLService.fetchMe() val data = me.data if (me.hasErrors() || data == null) { // TOOD(@lukmccall): Handle errors properly @@ -54,8 +53,8 @@ class SessionService( } val selectedAccountId = restoreSelectedAccount() - val selectedAccount = data.meUserActor?.accounts?.find { account -> account.id == selectedAccountId } - ?: data.meUserActor?.accounts?.firstOrNull() + val selectedAccount = data.accounts.find { account -> account.id == selectedAccountId } + ?: data.accounts.firstOrNull() _user.update { UserState.LoggedIn( data, @@ -68,7 +67,6 @@ class SessionService( fun setSession(newSession: Session?) { newSession.saveToPreferences(sessionStore) - apolloClientService.setSession(newSession?.sessionSecret) httpClientService.setSession(newSession?.sessionSecret) _session.update { newSession } } @@ -76,7 +74,10 @@ class SessionService( fun switchAccount(accountId: String) { _user.update { currentState -> if (currentState is UserState.LoggedIn) { - val newSelectedAccount = currentState.data.meUserActor?.accounts?.find { account -> account.id == accountId } + val newSelectedAccount = currentState + .data + .accounts + .find { account -> account.id == accountId } // We cannot find the account with the given ID, so we return the current state if (newSelectedAccount == null) { return@update currentState @@ -91,7 +92,6 @@ class SessionService( private fun restoreSession(): Session? { val newSession = Session.loadFromPreferences(sessionStore) - apolloClientService.setSession(newSession?.sessionSecret) httpClientService.setSession(newSession?.sessionSecret) return newSession } From 1bd85fc6fbc7cdcf09eefa6b8a7d2bea7409cf16 Mon Sep 17 00:00:00 2001 From: Wiktor Smaga Date: Mon, 15 Jun 2026 13:44:36 +0200 Subject: [PATCH 03/14] [media-library][android] Add getAssetContentUriAsync for legacy ID migration (#46854) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # Why The legacy media library was designed before Android Scoped Storage was introduced, so there's no way to get a `content://` URI using the legacy API. This makes migration to the new API harder for apps that store old IDs in a database. Related conversation: https://github.com/expo/expo/issues/46512 # How - Adds `getAssetContentUriAsync` to the legacy API - Adds a new section to the migration guide # Test Plan Added a test to `test-suite` and tested on `BareExpo` ✅ --- apps/test-suite/tests/MediaLibrary.js | 12 +++- .../sdk-libraries-migration/media-library.mdx | 42 +++++++++++ packages/expo-media-library/CHANGELOG.md | 1 + .../expo/modules/medialibrary/Exceptions.kt | 3 + .../medialibrary/MediaLibraryModule.kt | 6 ++ .../medialibrary/assets/GetAssetContentUri.kt | 69 +++++++++++++++++++ .../build/legacy/MediaLibrary.d.ts | 8 +++ .../build/legacy/MediaLibrary.d.ts.map | 2 +- .../build/legacy/MediaLibrary.js | 15 ++++ .../build/legacy/MediaLibrary.js.map | 2 +- .../build/legacyWarnings.d.ts | 4 ++ .../build/legacyWarnings.d.ts.map | 2 +- .../build/legacyWarnings.js | 6 ++ .../build/legacyWarnings.js.map | 2 +- .../src/legacy/MediaLibrary.ts | 19 +++++ .../expo-media-library/src/legacyWarnings.ts | 7 ++ 16 files changed, 195 insertions(+), 5 deletions(-) create mode 100644 packages/expo-media-library/android/src/main/java/expo/modules/medialibrary/assets/GetAssetContentUri.kt diff --git a/apps/test-suite/tests/MediaLibrary.js b/apps/test-suite/tests/MediaLibrary.js index 899124d7c50973..144d9c273e91ba 100644 --- a/apps/test-suite/tests/MediaLibrary.js +++ b/apps/test-suite/tests/MediaLibrary.js @@ -109,7 +109,7 @@ export async function test(t) { ? 30 * 1000 : t.jasmine.DEFAULT_TIMEOUT_INTERVAL; - describeWithPermissions('MediaLibrary', async () => { + describeWithPermissions('MediaLibrary', () => { let files; let permissions; @@ -233,6 +233,16 @@ export async function test(t) { t.expect(asset).toBeNull(); }); + if (Platform.OS === 'android') { + t.it('getAssetContentUriAsync returns content uri', async () => { + const asset = testAssets[0]; + const volume = Platform.Version === 29 ? 'external_primary' : 'external'; + const contentUri = await MediaLibrary.getAssetContentUriAsync(asset); + + t.expect(contentUri).toBe(`content://media/${volume}/images/media/${asset.id}`); + }); + } + t.it( 'saveToLibraryAsync should throw when the provided path does not contain an extension', async () => { diff --git a/docs/pages/guides/sdk-libraries-migration/media-library.mdx b/docs/pages/guides/sdk-libraries-migration/media-library.mdx index 2add49b61d4009..ed22c46eb45f84 100644 --- a/docs/pages/guides/sdk-libraries-migration/media-library.mdx +++ b/docs/pages/guides/sdk-libraries-migration/media-library.mdx @@ -106,6 +106,48 @@ await asset.delete(); await Asset.delete([asset1, asset2]); ``` +### Use legacy assets alongside the new API + +> If possible, migrate your app to use the new API end-to-end. The helpers below are intended for gradual migrations where both APIs are used at the same time. + +If you have a legacy `Asset` object in memory and need a new `Asset` instance, use `asset.uri` on iOS (it is already a `ph://` URI accepted by the new API) and `getAssetContentUriAsync` on Android to convert the numeric MediaStore ID to a `content://` URI. + +```ts +import { Asset } from 'expo-media-library'; +import * as LegacyMediaLibrary from 'expo-media-library/legacy'; +import { Platform } from 'react-native'; + +async function toNewAsset(legacyAsset: LegacyMediaLibrary.Asset): Promise { + switch (Platform.OS) { + case 'ios': + return new Asset(legacyAsset.uri); + case 'android': { + const contentUri = await LegacyMediaLibrary.getAssetContentUriAsync(legacyAsset); + return new Asset(contentUri); + } + default: + throw new Error(`Unsupported platform: ${Platform.OS}`); + } +} +``` + +If your app stores asset IDs returned by the legacy API (for example, in a database), convert them before creating `Asset` instances. On iOS, prefix the legacy ID with `ph://`. On Android, use `getAssetContentUriAsync` to resolve the numeric MediaStore ID to a `content://` URI. + +```ts +async function convertStoredId(legacyId: string): Promise { + switch (Platform.OS) { + case 'ios': + return new Asset(`ph://${legacyId}`); + case 'android': { + const contentUri = await LegacyMediaLibrary.getAssetContentUriAsync(legacyId); + return new Asset(contentUri); + } + default: + throw new Error(`Unsupported platform: ${Platform.OS}`); + } +} +``` + ## Albums ### Get an album by name diff --git a/packages/expo-media-library/CHANGELOG.md b/packages/expo-media-library/CHANGELOG.md index d0c0c264f4db56..e2dbf0a0d12fa6 100644 --- a/packages/expo-media-library/CHANGELOG.md +++ b/packages/expo-media-library/CHANGELOG.md @@ -13,6 +13,7 @@ ### 💡 Others +- [android] Add `getAssetContentUriAsync` for legacy ID migration ([#46854](https://github.com/expo/expo/pull/45769) by [@Wenszel](https://github.com/Wenszel)) - Re-organize TS code ([#45953](https://github.com/expo/expo/pull/45953) by [@Wenszel](https://github.com/Wenszel)) ## 56.0.6 — 2026-05-21 diff --git a/packages/expo-media-library/android/src/main/java/expo/modules/medialibrary/Exceptions.kt b/packages/expo-media-library/android/src/main/java/expo/modules/medialibrary/Exceptions.kt index 8ca2a925cffd6b..657ac6b52031ae 100644 --- a/packages/expo-media-library/android/src/main/java/expo/modules/medialibrary/Exceptions.kt +++ b/packages/expo-media-library/android/src/main/java/expo/modules/medialibrary/Exceptions.kt @@ -17,6 +17,9 @@ class AlbumPathException : class AlbumNotFound : CodedException("Couldn't find album") +class AssetNotFound(assetId: String) : + CodedException("Couldn't find asset with id: $assetId") + class AssetQueryException : CodedException("Could not get asset. Query returns null") diff --git a/packages/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt b/packages/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt index 97c19ff07a49dc..dada8649fe532d 100644 --- a/packages/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt +++ b/packages/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt @@ -40,6 +40,7 @@ import expo.modules.medialibrary.albums.migration.migrateAlbum import expo.modules.medialibrary.albums.removeAssetsFromAlbum import expo.modules.medialibrary.assets.createAssetWithAlbumId import expo.modules.medialibrary.assets.deleteAssets +import expo.modules.medialibrary.assets.getAssetContentUri import expo.modules.medialibrary.assets.getAssetInfo import expo.modules.medialibrary.assets.getAssets import expo.modules.medialibrary.contracts.DeleteContract @@ -136,6 +137,11 @@ class MediaLibraryModule : Module() { return@Coroutine getAssetInfo(context, assetId) } + AsyncFunction("getAssetContentUriAsync") Coroutine { assetId: String -> + requireSystemPermissions(false) + return@Coroutine getAssetContentUri(context, assetId) + } + AsyncFunction("getAlbumsAsync") Coroutine { _: Map?/* unused on android atm */ -> requireSystemPermissions(false) return@Coroutine getAlbums(context) diff --git a/packages/expo-media-library/android/src/main/java/expo/modules/medialibrary/assets/GetAssetContentUri.kt b/packages/expo-media-library/android/src/main/java/expo/modules/medialibrary/assets/GetAssetContentUri.kt new file mode 100644 index 00000000000000..f4bbc796c7688b --- /dev/null +++ b/packages/expo-media-library/android/src/main/java/expo/modules/medialibrary/assets/GetAssetContentUri.kt @@ -0,0 +1,69 @@ +package expo.modules.medialibrary.assets + +import android.content.ContentUris +import android.content.Context +import android.os.Build +import android.provider.MediaStore +import expo.modules.medialibrary.AssetNotFound +import expo.modules.medialibrary.AssetQueryException +import expo.modules.medialibrary.EXTERNAL_CONTENT_URI +import expo.modules.medialibrary.UnableToLoadException +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.ensureActive +import kotlinx.coroutines.withContext +import kotlin.coroutines.coroutineContext + +suspend fun getAssetContentUri(context: Context, assetId: String): String = withContext(Dispatchers.IO) { + val projection = arrayOf( + MediaStore.Files.FileColumns._ID, + MediaStore.Files.FileColumns.MEDIA_TYPE + ) + val selection = "${MediaStore.Files.FileColumns._ID}=?" + val selectionArgs = arrayOf(assetId) + + try { + context.contentResolver.query( + EXTERNAL_CONTENT_URI, + projection, + selection, + selectionArgs, + null + ).use { assetCursor -> + coroutineContext.ensureActive() + if (assetCursor == null) { + throw AssetQueryException() + } + if (!assetCursor.moveToFirst()) { + throw AssetNotFound(assetId) + } + val idColumn = assetCursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns._ID) + val mediaTypeColumn = assetCursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns.MEDIA_TYPE) + val id = assetCursor.getLong(idColumn) + val mediaType = if (assetCursor.isNull(mediaTypeColumn)) { + null + } else { + assetCursor.getInt(mediaTypeColumn) + } + + val baseUri = if (Build.VERSION.SDK_INT == Build.VERSION_CODES.Q) { + when (mediaType) { + MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE -> MediaStore.Images.Media.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY) + MediaStore.Files.FileColumns.MEDIA_TYPE_VIDEO -> MediaStore.Video.Media.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY) + MediaStore.Files.FileColumns.MEDIA_TYPE_AUDIO -> MediaStore.Audio.Media.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY) + else -> MediaStore.Files.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY) + } + } else { + when (mediaType) { + MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE -> MediaStore.Images.Media.EXTERNAL_CONTENT_URI + MediaStore.Files.FileColumns.MEDIA_TYPE_VIDEO -> MediaStore.Video.Media.EXTERNAL_CONTENT_URI + MediaStore.Files.FileColumns.MEDIA_TYPE_AUDIO -> MediaStore.Audio.Media.EXTERNAL_CONTENT_URI + else -> EXTERNAL_CONTENT_URI + } + } + + return@withContext ContentUris.withAppendedId(baseUri, id).toString() + } + } catch (e: SecurityException) { + throw UnableToLoadException("Could not get asset: need READ_EXTERNAL_STORAGE permission", e) + } +} diff --git a/packages/expo-media-library/build/legacy/MediaLibrary.d.ts b/packages/expo-media-library/build/legacy/MediaLibrary.d.ts index 73333a66d1dc78..2b58fe32a9b622 100644 --- a/packages/expo-media-library/build/legacy/MediaLibrary.d.ts +++ b/packages/expo-media-library/build/legacy/MediaLibrary.d.ts @@ -422,6 +422,14 @@ export declare function deleteAssetsAsync(assets: AssetRef[] | AssetRef): Promis * @return An [AssetInfo](#assetinfo) object, which is an `Asset` extended by an additional fields. */ export declare function getAssetInfoAsync(asset: AssetRef, options?: MediaLibraryAssetInfoQueryOptions): Promise; +/** + * Returns the `content://` URI for the given legacy asset. Use this when migrating to the new + * class-based API — pass the returned URI as the ID to `new Asset(id)`. + * @param asset An [`Asset`](#asset) or its ID. + * @return A promise which fulfils with the `content://` URI string for the asset. + * @platform android + */ +export declare function getAssetContentUriAsync(asset: AssetRef): Promise; /** * Queries for user-created albums in media gallery. * @return A promise which fulfils with an array of [`Album`](#asset)s. Depending on Android version, diff --git a/packages/expo-media-library/build/legacy/MediaLibrary.d.ts.map b/packages/expo-media-library/build/legacy/MediaLibrary.d.ts.map index 67b266d667a3b2..774af4e77431cb 100644 --- a/packages/expo-media-library/build/legacy/MediaLibrary.d.ts.map +++ b/packages/expo-media-library/build/legacy/MediaLibrary.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"MediaLibrary.d.ts","sourceRoot":"","sources":["../../src/legacy/MediaLibrary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,IAAI,oBAAoB,EAAwB,MAAM,MAAM,CAAC;AAC7F,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAiBhF,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,GAAG;IACtD;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;CAC/C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAE7D,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AAErF;;;KAGK;AACL,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhD,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,WAAW,GACX,OAAO,GACP,QAAQ,GACR,cAAc,GACd,kBAAkB,GAClB,UAAU,CAAC;AACf,MAAM,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;AAI3D,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,WAAW,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,QAAQ,CAAC;IACjB,YAAY,EAAE,cAAc,CAAC;IAC7B,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC;AAGF,MAAM,MAAM,KAAK,GAAG;IAClB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,SAAS,EAAE,cAAc,CAAC;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAGF,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF;;;;KAIK;AACL,MAAM,MAAM,YAAY,GACpB,aAAa,GACb,KAAK,GACL,eAAe,GACf,WAAW,GACX,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,WAAW,GACX,cAAc,GACd,gBAAgB,CAAC;AAGrB,MAAM,MAAM,iCAAiC,GAAG;IAC9C;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAGF,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;;;;OAMG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;IACxB;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;CACzB,CAAC;AAGF,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,KAAK,GAAG;IAClB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,QAAQ,CAAC;IAC/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAGF,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;AAG1D,MAAM,MAAM,aAAa,GAAG;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC;IAC9C;;;OAGG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;IAC9C;;;OAGG;IACH,YAAY,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC7B;;;OAGG;IACH,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAGF,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB;;OAEG;IACH,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAGtC,OAAO,EACL,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,IAAI,oBAAoB,EAC/C,KAAK,qBAAqB,GAC3B,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,KAAK,iBAAiB,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAiE3E;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,eAAwC,CAAC;AAGjE;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,YAAkC,CAAC;AAGxD;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEzD;AAGD;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,GAAE,OAAe,EAC1B,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,GACzC,OAAO,CAAC,kBAAkB,CAAC,CAQ7B;AAGD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,GAAE,OAAe,EAC1B,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,GACzC,OAAO,CAAC,kBAAkB,CAAC,CAQ7B;AAGD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;gBAEX,OAAO;0BAAwB,kBAAkB,EAAE;oHAMjE,CAAC;AAGH;;;;;;;;;;;;;GAaG;AACH,wBAAsB,6BAA6B,CACjD,UAAU,GAAE,eAAe,EAAuB,GACjD,OAAO,CAAC,IAAI,CAAC,CAef;AAGD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAiBzF;AAGD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxE;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAC7B,KAAK,EAAE,QAAQ,EACf,IAAI,GAAE,OAAc,GACnB,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAGD;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAC7B,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,OAAO,CAAC,CAUlB;AAGD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CASvF;AAGD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,QAAQ,EACf,OAAO,GAAE,iCAAuE,GAC/E,OAAO,CAAC,SAAS,CAAC,CAgBpB;AAGD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,EAAE,kBAA0B,EAAE,GAAE,aAAkB,GAAG,OAAO,CAC/F,KAAK,EAAE,CACR,CAKA;AAGD;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAQjE;AAGD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,QAAQ,EAChB,SAAS,GAAE,OAAc,EACzB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,OAAO,CAAC,KAAK,CAAC,CA4BhB;AAGD;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAC7B,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,OAAO,CAAC,CAYlB;AAGD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,aAAa,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAmDjG;AAGD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,GACvD,iBAAiB,CAEnB;AAED;GACG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAExE;AAGD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAGD;;;;;GAKG;AACH,wBAAsB,eAAe,iBAMpC;AAGD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9E;AAGD;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAMhF;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,OAAO,CAAC,CAclB"} \ No newline at end of file +{"version":3,"file":"MediaLibrary.d.ts","sourceRoot":"","sources":["../../src/legacy/MediaLibrary.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-media-library/build/legacy/MediaLibrary.js b/packages/expo-media-library/build/legacy/MediaLibrary.js index eeb828730d443e..e4cd7f98597bb2 100644 --- a/packages/expo-media-library/build/legacy/MediaLibrary.js +++ b/packages/expo-media-library/build/legacy/MediaLibrary.js @@ -294,6 +294,21 @@ export async function getAssetInfoAsync(asset, options = { shouldDownloadFromNet } return assetInfo; } +/** + * Returns the `content://` URI for the given legacy asset. Use this when migrating to the new + * class-based API — pass the returned URI as the ID to `new Asset(id)`. + * @param asset An [`Asset`](#asset) or its ID. + * @return A promise which fulfils with the `content://` URI string for the asset. + * @platform android + */ +export async function getAssetContentUriAsync(asset) { + if (Platform.OS !== 'android') { + throw new UnavailabilityError('MediaLibrary', 'getAssetContentUriAsync'); + } + const assetId = getId(asset); + checkAssetIds([assetId]); + return await MediaLibrary.getAssetContentUriAsync(assetId); +} // @needsAudit /** * Queries for user-created albums in media gallery. diff --git a/packages/expo-media-library/build/legacy/MediaLibrary.js.map b/packages/expo-media-library/build/legacy/MediaLibrary.js.map index 1d55c7b220c8c0..3df981a42bcc24 100644 --- a/packages/expo-media-library/build/legacy/MediaLibrary.js.map +++ b/packages/expo-media-library/build/legacy/MediaLibrary.js.map @@ -1 +1 @@ -{"version":3,"file":"MediaLibrary.js","sourceRoot":"","sources":["../../src/legacy/MediaLibrary.ts"],"names":[],"mappings":"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","sourcesContent":["import { type PermissionResponse as EXPermissionResponse, createPermissionHook } from 'expo';\nimport { UnavailabilityError, type EventSubscription } from 'expo-modules-core';\nimport { Platform } from 'react-native';\n\nimport MediaLibrary from './ExpoMediaLibrary';\n\nconst isExpoGo = typeof expo !== 'undefined' && globalThis.expo?.modules?.ExpoGo;\n\nlet loggedExpoGoWarning = false;\n\nif (isExpoGo && !loggedExpoGoWarning) {\n console.warn(\n 'Due to changes in Androids permission requirements, Expo Go can no longer provide full access to the media library. To test the full functionality of this module, you can create a development build. https://docs.expo.dev/develop/development-builds/create-a-build'\n );\n loggedExpoGoWarning = true;\n}\n\n// @needsAudit\nexport type PermissionResponse = EXPermissionResponse & {\n /**\n * Indicates if your app has access to the whole or only part of the photo library. Possible values are:\n * - `'all'` if the user granted your app access to the whole photo library\n * - `'limited'` if the user granted your app access only to selected photos (only available on Android API 14+ and iOS 14.0+)\n * - `'none'` if user denied or hasn't yet granted the permission\n */\n accessPrivileges?: 'all' | 'limited' | 'none';\n};\n\n/**\n * Determines the type of media that the app will ask the OS to get access to.\n * @platform android 13+\n */\nexport type GranularPermission = 'audio' | 'photo' | 'video';\n\nexport type MediaTypeValue = 'audio' | 'photo' | 'video' | 'unknown' | 'pairedVideo';\n\n/**\n * Represents the possible types of media that the app will ask the OS to get access to when calling [`presentPermissionsPickerAsync()`](#medialibrarypresentpermissionspickerasyncmediatypes).\n * @platform android 14+\n * */\nexport type MediaTypeFilter = 'photo' | 'video';\n\nexport type SortByKey =\n | 'default'\n | 'mediaType'\n | 'width'\n | 'height'\n | 'creationTime'\n | 'modificationTime'\n | 'duration';\nexport type SortByValue = [SortByKey, boolean] | SortByKey;\n\ntype InternalSortByValue = `${SortByKey} ${'ASC' | 'DESC'}`;\n\nexport type MediaTypeObject = {\n audio: 'audio';\n photo: 'photo';\n video: 'video';\n unknown: 'unknown';\n};\n\nexport type SortByObject = {\n default: 'default';\n mediaType: 'mediaType';\n width: 'width';\n height: 'height';\n creationTime: 'creationTime';\n modificationTime: 'modificationTime';\n duration: 'duration';\n};\n\n// @needsAudit\nexport type Asset = {\n /**\n * Internal ID that represents an asset.\n */\n id: string;\n /**\n * Filename of the asset.\n */\n filename: string;\n /**\n * URI that points to the asset. `ph://*` (iOS), `file://*` (Android)\n */\n uri: string;\n /**\n * Media type.\n */\n mediaType: MediaTypeValue;\n /**\n * An array of media subtypes.\n * @platform ios\n */\n mediaSubtypes?: MediaSubtype[];\n /**\n * Width of the image or video.\n */\n width: number;\n /**\n * Height of the image or video.\n */\n height: number;\n /**\n * File creation timestamp.\n */\n creationTime: number;\n /**\n * Last modification timestamp.\n */\n modificationTime: number;\n /**\n * Duration of the video or audio asset in seconds.\n */\n duration: number;\n /**\n * Album ID that the asset belongs to.\n * @platform android\n */\n albumId?: string;\n};\n\n// @needsAudit\nexport type AssetInfo = Asset & {\n /**\n * Local URI for the asset.\n */\n localUri?: string;\n /**\n * GPS location if available.\n */\n location?: Location;\n /**\n * EXIF metadata associated with the image.\n */\n exif?: object;\n /**\n * Whether the asset is marked as favorite.\n * @platform ios\n */\n isFavorite?: boolean;\n /**\n * This field is available only if flag `shouldDownloadFromNetwork` is set to `false`.\n * Whether the asset is stored on the network (iCloud on iOS).\n * @platform ios\n */\n isNetworkAsset?: boolean; //iOS only\n /**\n * Display orientation of the image. Orientation is available only for assets whose\n * `mediaType` is `MediaType.photo`. Value will range from 1 to 8, see [EXIF orientation specification](http://sylvana.net/jpegcrop/exif_orientation.html)\n * for more details.\n * @platform ios\n */\n orientation?: number;\n /**\n * Contains information about the video paired with the image file.\n * This field is available if the `mediaType` is `\"photo\"`, and the `mediaSubtypes` includes `\"livePhoto\"`.\n * @platform ios\n */\n pairedVideoAsset?: Asset | null;\n};\n\n/**\n * Constants identifying specific variations of asset media, such as panorama or screenshot photos,\n * and time-lapse or high-frame-rate video. Maps to [`PHAssetMediaSubtype`](https://developer.apple.com/documentation/photokit/phassetmediasubtype#1603888).\n * @platform ios\n * */\nexport type MediaSubtype =\n | 'depthEffect'\n | 'hdr'\n | 'highFrameRate'\n | 'livePhoto'\n | 'panorama'\n | 'screenshot'\n | 'stream'\n | 'timelapse'\n | 'spatialMedia'\n | 'videoCinematic';\n\n// @needsAudit\nexport type MediaLibraryAssetInfoQueryOptions = {\n /**\n * Whether allow the asset to be downloaded from network. Only available in iOS with iCloud assets.\n * @default true\n */\n shouldDownloadFromNetwork?: boolean;\n};\n\n// @needsAudit\nexport type MediaLibraryAssetsChangeEvent = {\n /**\n * Whether the media library's changes could be described as \"incremental changes\".\n * `true` indicates the changes are described by the `insertedAssets`, `deletedAssets` and\n * `updatedAssets` values. `false` indicates that the scope of changes is too large and you\n * should perform a full assets reload (eg. a user has changed access to individual assets in the\n * media library).\n */\n hasIncrementalChanges: boolean;\n /**\n * Available only if `hasIncrementalChanges` is `true`.\n * Array of [`Asset`](#asset)s that have been inserted to the library.\n */\n insertedAssets?: Asset[];\n /**\n * Available only if `hasIncrementalChanges` is `true`.\n * Array of [`Asset`](#asset)s that have been deleted from the library.\n */\n deletedAssets?: Asset[];\n /**\n * Available only if `hasIncrementalChanges` is `true`.\n * Array of [`Asset`](#asset)s that have been updated or completed downloading from network\n * storage (iCloud on iOS).\n */\n updatedAssets?: Asset[];\n};\n\n// @docsMissing\nexport type Location = {\n latitude: number;\n longitude: number;\n};\n\n// @needsAudit\nexport type Album = {\n /**\n * Album ID.\n */\n id: string;\n /**\n * Album title.\n */\n title: string;\n /**\n * Estimated number of assets in album.\n */\n assetCount: number;\n /**\n * The type of the assets album.\n * @platform ios\n */\n type?: AlbumType;\n /**\n * Apply only to albums whose type is `'moment'`. Earliest creation timestamp of all\n * assets in moment.\n * @platform ios\n */\n startTime: number;\n /**\n * Apply only to albums whose type is `'moment'`. Latest creation timestamp of all\n * assets in moment.\n * @platform ios\n */\n endTime: number;\n /**\n * Apply only to albums whose type is `'moment'`. Approximated location of all\n * assets in moment.\n * @platform ios\n */\n approximateLocation?: Location;\n /**\n * Apply only to albums whose type is `'moment'`. Names of locations grouped\n * in moment.\n * @platform ios\n */\n locationNames?: string[];\n};\n\n// @docsMissing\nexport type AlbumType = 'album' | 'moment' | 'smartAlbum';\n\n// @docsMissing\nexport type AlbumsOptions = {\n includeSmartAlbums?: boolean;\n};\n\n// @needsAudit\nexport type AssetsOptions = {\n /**\n * The maximum number of items on a single page.\n * @default 20\n */\n first?: number;\n /**\n * Asset ID of the last item returned on the previous page. To get the ID of the next page,\n * pass [`endCursor`](#pagedinfo) as its value.\n */\n after?: AssetRef;\n /**\n * [Album](#album) or its ID to get assets from specific album.\n */\n album?: AlbumRef;\n /**\n * An array of [`SortByValue`](#sortbyvalue)s or a single `SortByValue` value. By default, all\n * keys are sorted in descending order, however you can also pass a pair `[key, ascending]` where\n * the second item is a `boolean` value that means whether to use ascending order. Note that if\n * the `SortBy.default` key is used, then `ascending` argument will not matter. Earlier items have\n * higher priority when sorting out the results.\n * If empty, this method uses the default sorting that is provided by the platform.\n */\n sortBy?: SortByValue[] | SortByValue;\n /**\n * An array of [MediaTypeValue](#mediatypevalue)s or a single `MediaTypeValue`.\n * @default MediaType.photo\n */\n mediaType?: MediaTypeValue[] | MediaTypeValue;\n /**\n * An array of [MediaSubtype](#mediasubtype)s or a single `MediaSubtype`.\n * @platform ios\n */\n mediaSubtypes?: MediaSubtype[] | MediaSubtype;\n /**\n * `Date` object or Unix timestamp in milliseconds limiting returned assets only to those that\n * were created after this date.\n */\n createdAfter?: Date | number;\n /**\n * Similarly as `createdAfter`, but limits assets only to those that were created before specified\n * date.\n */\n createdBefore?: Date | number;\n /**\n * Whether to resolve full info for the assets during the query.\n * This is useful to get the full EXIF data for images. It can fix the orientation of the image.\n * @default false\n * @platform android\n */\n resolveWithFullInfo?: boolean;\n};\n\n// @needsAudit\nexport type PagedInfo = {\n /**\n * A page of [`Asset`](#asset)s fetched by the query.\n */\n assets: T[];\n /**\n * A marker that indicates where the next page of results should start.\n * On iOS, it is the ID of the last fetched asset.\n * On Android, it is the index of the last fetched asset in query results.\n * This value should be passed as the `after` option to load the next page.\n */\n endCursor: string;\n /**\n * Whether there are more assets to fetch.\n */\n hasNextPage: boolean;\n /**\n * Estimated total number of assets that match the query.\n */\n totalCount: number;\n};\n\n/**\n * @hidden\n */\nexport type AssetRef = Asset | string;\n\n/**\n * @hidden\n */\nexport type AlbumRef = Album | string;\n\n// TODO(@kitten): Remove re-exports from EMC\nexport {\n PermissionStatus,\n type PermissionExpiration,\n type PermissionResponse as EXPermissionResponse,\n type PermissionHookOptions,\n} from 'expo';\nexport { type EventSubscription as Subscription } from 'expo-modules-core';\n\nfunction arrayize(item: T | T[]): T[] {\n if (Array.isArray(item)) {\n return item;\n }\n return item ? [item] : [];\n}\n\nfunction getId(ref: string | undefined | { id?: string }): string | undefined {\n if (typeof ref === 'string') {\n return ref;\n }\n return ref ? ref.id : undefined;\n}\n\nfunction checkAssetIds(assetIds: unknown[]): asserts assetIds is string[] {\n if (assetIds.some((id) => !id || typeof id !== 'string')) {\n throw new Error('Asset ID must be a string!');\n }\n}\n\nfunction checkAlbumIds(albumIds: unknown[]): asserts albumIds is string[] {\n if (albumIds.some((id) => !id || typeof id !== 'string')) {\n throw new Error('Album ID must be a string!');\n }\n}\n\nfunction checkMediaType(mediaType: unknown): asserts mediaType is keyof MediaTypeObject {\n if (Object.values(MediaType).indexOf(mediaType as any) === -1) {\n throw new Error(`Invalid mediaType: ${mediaType}`);\n }\n}\n\nfunction checkSortBy(sortBy: unknown): asserts sortBy is SortByValue {\n if (Array.isArray(sortBy)) {\n checkSortByKey(sortBy[0]);\n\n if (typeof sortBy[1] !== 'boolean') {\n throw new Error('Invalid sortBy array argument. Second item must be a boolean!');\n }\n } else {\n checkSortByKey(sortBy);\n }\n}\n\nfunction checkSortByKey(sortBy: any): void {\n if (Object.values(SortBy).indexOf(sortBy) === -1) {\n throw new Error(`Invalid sortBy key: ${sortBy}`);\n }\n}\n\nfunction sortByOptionToString(sortBy: SortByValue | undefined): InternalSortByValue {\n checkSortBy(sortBy);\n if (Array.isArray(sortBy)) {\n return `${sortBy[0]} ${sortBy[1] ? 'ASC' : 'DESC'}`;\n }\n return `${sortBy} DESC`;\n}\n\nfunction dateToNumber(value?: Date | number): number | undefined {\n return value instanceof Date ? value.getTime() : value;\n}\n\n// @needsAudit\n/**\n * Possible media types.\n */\nexport const MediaType: MediaTypeObject = MediaLibrary.MediaType;\n\n// @needsAudit\n/**\n * Supported keys that can be used to sort `getAssetsAsync` results.\n */\nexport const SortBy: SortByObject = MediaLibrary.SortBy;\n\n// @needsAudit\n/**\n * Returns whether the Media Library API is enabled on the current device.\n * @return A promise which fulfils with a `boolean`, indicating whether the Media Library API is\n * available on the current device.\n */\nexport async function isAvailableAsync(): Promise {\n return !!MediaLibrary && 'getAssetsAsync' in MediaLibrary;\n}\n\n// @needsAudit @docsMissing\n/**\n * Asks the user to grant permissions for accessing media in user's media library.\n * @param writeOnly\n * @param granularPermissions - A list of [`GranularPermission`](#granularpermission) values. This parameter has an\n * effect only on Android 13 and newer. By default, `expo-media-library` will ask for all possible permissions.\n *\n * > When using granular permissions with a custom config plugin configuration, make sure that all the requested permissions are included in plugin.\n * @return A promise that fulfils with [`PermissionResponse`](#permissionresponse) object.\n */\nexport async function requestPermissionsAsync(\n writeOnly: boolean = false,\n granularPermissions?: GranularPermission[]\n): Promise {\n if (!MediaLibrary.requestPermissionsAsync) {\n throw new UnavailabilityError('MediaLibrary', 'requestPermissionsAsync');\n }\n if (Platform.OS === 'android') {\n return await MediaLibrary.requestPermissionsAsync(writeOnly, granularPermissions);\n }\n return await MediaLibrary.requestPermissionsAsync(writeOnly);\n}\n\n// @needsAudit @docsMissing\n/**\n * Checks user's permissions for accessing media library.\n * @param writeOnly\n * @param granularPermissions - A list of [`GranularPermission`](#granularpermission) values. This parameter has\n * an effect only on Android 13 and newer. By default, `expo-media-library` will ask for all possible permissions.\n * @return A promise that fulfils with [`PermissionResponse`](#permissionresponse) object.\n */\nexport async function getPermissionsAsync(\n writeOnly: boolean = false,\n granularPermissions?: GranularPermission[]\n): Promise {\n if (!MediaLibrary.getPermissionsAsync) {\n throw new UnavailabilityError('MediaLibrary', 'getPermissionsAsync');\n }\n if (Platform.OS === 'android') {\n return await MediaLibrary.getPermissionsAsync(writeOnly, granularPermissions);\n }\n return await MediaLibrary.getPermissionsAsync(writeOnly);\n}\n\n// @needsAudit\n/**\n * Check or request permissions to access the media library.\n * This uses both `requestPermissionsAsync` and `getPermissionsAsync` to interact with the permissions.\n *\n * @example\n * ```ts\n * const [permissionResponse, requestPermission] = MediaLibrary.usePermissions();\n * ```\n */\nexport const usePermissions = createPermissionHook<\n PermissionResponse,\n { writeOnly?: boolean; granularPermissions?: GranularPermission[] }\n>({\n // TODO(cedric): permission requesters should have an options param or a different requester\n getMethod: (options) => getPermissionsAsync(options?.writeOnly, options?.granularPermissions),\n requestMethod: (options) =>\n requestPermissionsAsync(options?.writeOnly, options?.granularPermissions),\n});\n\n// @needsAudit\n/**\n * Allows the user to update the assets that your app has access to.\n * The system modal is only displayed if the user originally allowed only `limited` access to their\n * media library, otherwise this method is a no-op.\n * @param mediaTypes Limits the type(s) of media that the user will be granting access to. By default, a list that shows both photos and videos is presented.\n *\n * @return A promise that either rejects if the method is unavailable, or resolves to `void`.\n * > __Note:__ This method doesn't inform you if the user changes which assets your app has access to.\n * That information is only exposed by iOS, and to obtain it, you need to subscribe for updates to the user's media library using [`addListener()`](#medialibraryaddlistenerlistener).\n * If `hasIncrementalChanges` is `false`, the user changed their permissions.\n *\n * @platform android 14+\n * @platform ios\n */\nexport async function presentPermissionsPickerAsync(\n mediaTypes: MediaTypeFilter[] = ['photo', 'video']\n): Promise {\n if (Platform.OS === 'android' && isExpoGo) {\n throw new UnavailabilityError(\n 'MediaLibrary',\n 'presentPermissionsPickerAsync is unavailable in Expo Go'\n );\n }\n if (Platform.OS === 'android' && Platform.Version >= 34) {\n await MediaLibrary.requestPermissionsAsync(false, mediaTypes);\n return;\n }\n if (!MediaLibrary.presentPermissionsPickerAsync) {\n throw new UnavailabilityError('MediaLibrary', 'presentPermissionsPickerAsync');\n }\n return await MediaLibrary.presentPermissionsPickerAsync();\n}\n\n// @needsAudit\n/**\n * Creates an asset from existing file. The most common use case is to save a picture taken by [Camera](./camera).\n * This method requires `CAMERA_ROLL` permission.\n *\n * @example\n * ```js\n * const { uri } = await Camera.takePictureAsync();\n * const asset = await MediaLibrary.createAssetAsync(uri);\n * ```\n * @param localUri A URI to the image or video file. It must contain an extension. On Android it\n * must be a local path, so it must start with `file:///`\n *\n * @param album An [Album](#album) or its ID. If provided, the asset will be added to this album upon creation, otherwise it will be added to the default album for the media type.\n * The album has exist.\n * @return A promise which fulfils with an object representing an [`Asset`](#asset).\n */\nexport async function createAssetAsync(localUri: string, album?: AlbumRef): Promise {\n if (!MediaLibrary.createAssetAsync) {\n throw new UnavailabilityError('MediaLibrary', 'createAssetAsync');\n }\n\n const albumId = getId(album);\n\n if (!localUri || typeof localUri !== 'string') {\n throw new Error('Invalid argument \"localUri\". It must be a string!');\n }\n const asset = await MediaLibrary.createAssetAsync(localUri, albumId);\n\n if (Array.isArray(asset)) {\n // Android returns an array with asset, we need to pick the first item\n return asset[0];\n }\n return asset;\n}\n\n// @needsAudit\n/**\n * Saves the file at given `localUri` to the user's media library. Unlike `createAssetAsync()`,\n * This method doesn't return created asset.\n * On __iOS 11+__, it's possible to use this method without asking for `CAMERA_ROLL` permission,\n * however then yours `Info.plist` should have `NSPhotoLibraryAddUsageDescription` key.\n * @param localUri A URI to the image or video file. It must contain an extension. On Android it\n * must be a local path, so it must start with `file:///`.\n */\nexport async function saveToLibraryAsync(localUri: string): Promise {\n if (!MediaLibrary.saveToLibraryAsync) {\n throw new UnavailabilityError('MediaLibrary', 'saveToLibraryAsync');\n }\n return await MediaLibrary.saveToLibraryAsync(localUri);\n}\n\n// @needsAudit\n/**\n * Adds array of assets to the album.\n *\n * On Android, by default it copies assets from the current album to provided one, however it's also\n * possible to move them by passing `false` as `copyAssets` argument. In case they're copied you\n * should keep in mind that `getAssetsAsync` will return duplicated assets.\n * @param assets An array of [Asset](#asset) or their IDs.\n * @param album An [Album](#album) or its ID.\n * @param copy __Android only.__ Whether to copy assets to the new album instead of move them.\n * Defaults to `true`.\n * @return Returns promise which fulfils with `true` if the assets were successfully added to\n * the album.\n */\nexport async function addAssetsToAlbumAsync(\n assets: AssetRef[] | AssetRef,\n album: AlbumRef,\n copy: boolean = true\n): Promise {\n if (!MediaLibrary.addAssetsToAlbumAsync) {\n throw new UnavailabilityError('MediaLibrary', 'addAssetsToAlbumAsync');\n }\n\n const assetIds = arrayize(assets).map(getId);\n const albumId = getId(album);\n\n checkAssetIds(assetIds);\n\n if (!albumId || typeof albumId !== 'string') {\n throw new Error('Invalid album ID. It must be a string!');\n }\n\n if (Platform.OS === 'ios') {\n return await MediaLibrary.addAssetsToAlbumAsync(assetIds, albumId);\n }\n return await MediaLibrary.addAssetsToAlbumAsync(assetIds, albumId, !!copy);\n}\n\n// @needsAudit\n/**\n * Removes given assets from album.\n *\n * On Android, album will be automatically deleted if there are no more assets inside.\n * @param assets An array of [Asset](#asset) or their IDs.\n * @param album An [Album](#album) or its ID.\n * @return Returns promise which fulfils with `true` if the assets were successfully removed from\n * the album.\n */\nexport async function removeAssetsFromAlbumAsync(\n assets: AssetRef[] | AssetRef,\n album: AlbumRef\n): Promise {\n if (!MediaLibrary.removeAssetsFromAlbumAsync) {\n throw new UnavailabilityError('MediaLibrary', 'removeAssetsFromAlbumAsync');\n }\n\n const assetIds = arrayize(assets).map(getId);\n const albumId = getId(album);\n\n checkAssetIds(assetIds);\n return await MediaLibrary.removeAssetsFromAlbumAsync(assetIds, albumId);\n}\n\n// @needsAudit\n/**\n * Deletes assets from the library. On iOS it deletes assets from all albums they belong to, while\n * on Android it keeps all copies of them (album is strictly connected to the asset). Also, there is\n * additional dialog on iOS that requires user to confirm this action.\n * @param assets An array of [Asset](#asset) or their IDs.\n * @return Returns promise which fulfils with `true` if the assets were successfully deleted.\n */\nexport async function deleteAssetsAsync(assets: AssetRef[] | AssetRef): Promise {\n if (!MediaLibrary.deleteAssetsAsync) {\n throw new UnavailabilityError('MediaLibrary', 'deleteAssetsAsync');\n }\n\n const assetIds = arrayize(assets).map(getId);\n\n checkAssetIds(assetIds);\n return await MediaLibrary.deleteAssetsAsync(assetIds);\n}\n\n// @needsAudit\n/**\n * Provides more information about an asset, including GPS location, local URI and EXIF metadata.\n * For better performance, prefer using individual getters such as `asset.getLocation()` or `asset.getExif()` to fetch only the data you need.\n * @param asset An [Asset](#asset) or its ID.\n * @param options\n * @return An [AssetInfo](#assetinfo) object, which is an `Asset` extended by an additional fields.\n */\nexport async function getAssetInfoAsync(\n asset: AssetRef,\n options: MediaLibraryAssetInfoQueryOptions = { shouldDownloadFromNetwork: true }\n): Promise {\n if (!MediaLibrary.getAssetInfoAsync) {\n throw new UnavailabilityError('MediaLibrary', 'getAssetInfoAsync');\n }\n\n const assetId = getId(asset);\n\n checkAssetIds([assetId]);\n\n const assetInfo = await MediaLibrary.getAssetInfoAsync(assetId, options);\n\n if (Array.isArray(assetInfo)) {\n // Android returns an array with asset info, we need to pick the first item\n return assetInfo[0];\n }\n return assetInfo;\n}\n\n// @needsAudit\n/**\n * Queries for user-created albums in media gallery.\n * @return A promise which fulfils with an array of [`Album`](#asset)s. Depending on Android version,\n * root directory of your storage may be listed as album titled `\"0\"` or unlisted at all.\n */\nexport async function getAlbumsAsync({ includeSmartAlbums = false }: AlbumsOptions = {}): Promise<\n Album[]\n> {\n if (!MediaLibrary.getAlbumsAsync) {\n throw new UnavailabilityError('MediaLibrary', 'getAlbumsAsync');\n }\n return await MediaLibrary.getAlbumsAsync({ includeSmartAlbums });\n}\n\n// @needsAudit\n/**\n * Queries for an album with a specific name.\n * @param title Name of the album to look for.\n * @return An object representing an [`Album`](#album), if album with given name exists, otherwise\n * returns `null`.\n */\nexport async function getAlbumAsync(title: string): Promise {\n if (!MediaLibrary.getAlbumAsync) {\n throw new UnavailabilityError('MediaLibrary', 'getAlbumAsync');\n }\n if (typeof title !== 'string') {\n throw new Error('Album title must be a string!');\n }\n return await MediaLibrary.getAlbumAsync(title);\n}\n\n// @needsAudit\n/**\n * Creates an album with given name and initial asset. The asset parameter is required on Android,\n * since it's not possible to create empty album on this platform. On Android, by default it copies\n * given asset from the current album to the new one, however it's also possible to move it by\n * passing `false` as `copyAsset` argument.\n * In case it's copied you should keep in mind that `getAssetsAsync` will return duplicated asset.\n * > On Android, it's not possible to create an empty album. You must provide an existing asset to copy or move into the album or an uri of a local file, which will be used to create an initial asset for the album.\n * @param albumName Name of the album to create.\n * @param asset An [Asset](#asset) or its ID. On Android you either need to provide an asset or a localUri.\n * @param initialAssetLocalUri A URI to the local media file, which will be used to create the initial asset inside the album. It must contain an extension. On Android it\n * must be a local path, so it must start with `file:///`. If the `asset` was provided, this parameter will be ignored.\n * @param copyAsset __Android Only.__ Whether to copy asset to the new album instead of move it. This parameter is ignored if `asset` was not provided.\n * Defaults to `true`.\n * @return Newly created [`Album`](#album).\n */\nexport async function createAlbumAsync(\n albumName: string,\n asset?: AssetRef,\n copyAsset: boolean = true,\n initialAssetLocalUri?: string\n): Promise {\n if (!MediaLibrary.createAlbumAsync) {\n throw new UnavailabilityError('MediaLibrary', 'createAlbumAsync');\n }\n\n const assetId = getId(asset);\n\n if (\n Platform.OS === 'android' &&\n (typeof assetId !== 'string' || assetId.length === 0) &&\n !initialAssetLocalUri\n ) {\n // it's not possible to create empty album on Android, so initial asset must be provided\n throw new Error(\n 'MediaLibrary.createAlbumAsync must be called with an asset or a localUri on Android.'\n );\n }\n if (!albumName || typeof albumName !== 'string') {\n throw new Error('Invalid argument \"albumName\". It must be a string!');\n }\n if (assetId != null && typeof assetId !== 'string') {\n throw new Error('Asset ID must be a string!');\n }\n\n if (Platform.OS === 'ios') {\n return await MediaLibrary.createAlbumAsync(albumName, assetId, initialAssetLocalUri);\n }\n return await MediaLibrary.createAlbumAsync(albumName, assetId, !!copyAsset, initialAssetLocalUri);\n}\n\n// @needsAudit\n/**\n * Deletes given albums from the library. On Android by default it deletes assets belonging to given\n * albums from the library. On iOS it doesn't delete these assets, however it's possible to do by\n * passing `true` as `deleteAssets`.\n * @param albums An array of [`Album`](#asset)s or their IDs.\n * @param assetRemove __iOS Only.__ Whether to also delete assets belonging to given albums.\n * Defaults to `false`.\n * @return Returns a promise which fulfils with `true` if the albums were successfully deleted from\n * the library.\n */\nexport async function deleteAlbumsAsync(\n albums: AlbumRef[] | AlbumRef,\n assetRemove: boolean = false\n): Promise {\n if (!MediaLibrary.deleteAlbumsAsync) {\n throw new UnavailabilityError('MediaLibrary', 'deleteAlbumsAsync');\n }\n\n const albumIds = arrayize(albums).map(getId);\n\n checkAlbumIds(albumIds);\n if (Platform.OS === 'android') {\n return await MediaLibrary.deleteAlbumsAsync(albumIds);\n }\n return await MediaLibrary.deleteAlbumsAsync(albumIds, !!assetRemove);\n}\n\n// @needsAudit\n/**\n * Fetches a page of assets matching the provided criteria.\n * @param assetsOptions\n * @return A promise that fulfils with to [`PagedInfo`](#pagedinfo) object with array of [`Asset`](#asset)s.\n */\nexport async function getAssetsAsync(assetsOptions: AssetsOptions = {}): Promise> {\n if (!MediaLibrary.getAssetsAsync) {\n throw new UnavailabilityError('MediaLibrary', 'getAssetsAsync');\n }\n\n const {\n first,\n after,\n album,\n sortBy,\n mediaType,\n createdAfter,\n createdBefore,\n mediaSubtypes,\n resolveWithFullInfo,\n } = assetsOptions;\n\n const options = {\n first: first == null ? 20 : first,\n after: getId(after),\n album: getId(album),\n sortBy: arrayize(sortBy),\n mediaType: arrayize(mediaType || [MediaType.photo]),\n mediaSubtypes: arrayize(mediaSubtypes),\n createdAfter: dateToNumber(createdAfter),\n createdBefore: dateToNumber(createdBefore),\n resolveWithFullInfo: resolveWithFullInfo ?? false,\n };\n\n if (first != null && typeof options.first !== 'number') {\n throw new Error('Option \"first\" must be a number!');\n }\n if (after != null && typeof options.after !== 'string') {\n throw new Error('Option \"after\" must be a string!');\n }\n if (album != null && typeof options.album !== 'string') {\n throw new Error('Option \"album\" must be a string!');\n }\n if (after != null && Platform.OS === 'android' && isNaN(parseInt(getId(after) as string, 10))) {\n throw new Error('Option \"after\" must be a valid ID!');\n }\n if (first != null && first < 0) {\n throw new Error('Option \"first\" must be a positive integer!');\n }\n\n options.mediaType.forEach(checkMediaType);\n // TODO(@kitten): Add expected native types for `MediaLibrary`\n return await MediaLibrary.getAssetsAsync({\n ...options,\n sortBy: options.sortBy.map(sortByOptionToString),\n });\n}\n\n// @needsAudit\n/**\n * Subscribes for updates in user's media library.\n * @param listener A callback that is fired when any assets have been inserted or deleted from the\n * library. On Android it's invoked with an empty object. On iOS, it's invoked with [`MediaLibraryAssetsChangeEvent`](#medialibraryassetschangeevent)\n * object.\n *\n * Additionally, only on iOS, the listener is also invoked when the user changes access to individual assets in media library\n * using `presentPermissionsPickerAsync()`.\n * @return An [`Subscription`](#subscription) object that you can call `remove()` on when you would\n * like to unsubscribe the listener.\n */\nexport function addListener(\n listener: (event: MediaLibraryAssetsChangeEvent) => void\n): EventSubscription {\n return MediaLibrary.addListener(MediaLibrary.CHANGE_LISTENER_NAME, listener);\n}\n\n/**\n */\nexport function removeSubscription(subscription: EventSubscription): void {\n subscription.remove();\n}\n\n// @needsAudit\n/**\n * Removes all listeners.\n */\nexport function removeAllListeners(): void {\n MediaLibrary.removeAllListeners(MediaLibrary.CHANGE_LISTENER_NAME);\n}\n\n// @needsAudit\n/**\n * Fetches a list of moments, which is a group of assets taken around the same place\n * and time.\n * @return An array of [albums](#album) whose type is `moment`.\n * @platform ios\n */\nexport async function getMomentsAsync() {\n if (!MediaLibrary.getMomentsAsync) {\n throw new UnavailabilityError('MediaLibrary', 'getMomentsAsync');\n }\n\n return await MediaLibrary.getMomentsAsync();\n}\n\n// @needsAudit\n/**\n * Moves album content to the special media directories on **Android R** or **above** if needed.\n * Those new locations are in line with the Android `scoped storage` - so your application won't\n * lose write permission to those directories in future.\n *\n * This method does nothing if:\n * - app is running on **iOS**, **web** or **Android below R**\n * - app has **write permission** to the album folder\n *\n * The migration is possible when the album contains only compatible files types.\n * For instance, movies and pictures are compatible with each other, but music and pictures are not.\n * If automatic migration isn't possible, the function rejects.\n * In that case, you can use methods from the `expo-file-system` to migrate all your files manually.\n *\n * # Why do you need to migrate files?\n * __Android R__ introduced a lot of changes in storage system. Now applications can't save\n * anything to the root directory. The only available locations are from the `MediaStore` API.\n * Unfortunately, the media library stored albums in folders for which, because of those changes,\n * the application doesn't have permissions anymore. However, it doesn't mean you need to migrate\n * all your albums. If your application doesn't add assets to albums, you don't have to migrate.\n * Everything will work as it used to. You can read more about scoped storage in [the Android documentation](https://developer.android.com/about/versions/11/privacy/storage).\n *\n * @param album An [Album](#album) or its ID.\n * @return A promise which fulfils to `void`.\n */\nexport async function migrateAlbumIfNeededAsync(album: AlbumRef): Promise {\n if (!MediaLibrary.migrateAlbumIfNeededAsync) {\n return;\n }\n\n return await MediaLibrary.migrateAlbumIfNeededAsync(getId(album));\n}\n\n// @needsAudit\n/**\n * Checks if the album should be migrated to a different location. In other words, it checks if the\n * application has the write permission to the album folder. If not, it returns `true`, otherwise `false`.\n * > Note: For **Android below R**, **web** or **iOS**, this function always returns `false`.\n * @param album An [Album](#album) or its ID.\n * @return Returns a promise which fulfils with `true` if the album should be migrated.\n */\nexport async function albumNeedsMigrationAsync(album: AlbumRef): Promise {\n if (!MediaLibrary.albumNeedsMigrationAsync) {\n return false;\n }\n\n return await MediaLibrary.albumNeedsMigrationAsync(getId(album));\n}\n\n/**\n * On iOS, this adds or removes the asset from the system \"Favorites\" smart album.\n * @param asset An [Asset](#asset) or its ID.\n * @param isFavorite Whether the asset should be marked as favorite.\n * @platform ios\n * @return Returns a promise which fulfils with `true` if the operation was successful.\n */\nexport async function setAssetFavoriteAsync(\n asset: AssetRef,\n isFavorite: boolean\n): Promise {\n if (!MediaLibrary.setAssetFavoriteAsync) {\n throw new UnavailabilityError('MediaLibrary', 'setAssetFavoriteAsync');\n }\n\n if (Platform.OS !== 'ios') {\n throw new UnavailabilityError('MediaLibrary', 'setAssetFavoriteAsync is only available on iOS');\n }\n\n const assetId = getId(asset);\n\n checkAssetIds([assetId]);\n\n return await MediaLibrary.setAssetFavoriteAsync(assetId, isFavorite);\n}\n"]} \ No newline at end of file +{"version":3,"file":"MediaLibrary.js","sourceRoot":"","sources":["../../src/legacy/MediaLibrary.ts"],"names":[],"mappings":"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","sourcesContent":["import { type PermissionResponse as EXPermissionResponse, createPermissionHook } from 'expo';\nimport { UnavailabilityError, type EventSubscription } from 'expo-modules-core';\nimport { Platform } from 'react-native';\n\nimport MediaLibrary from './ExpoMediaLibrary';\n\nconst isExpoGo = typeof expo !== 'undefined' && globalThis.expo?.modules?.ExpoGo;\n\nlet loggedExpoGoWarning = false;\n\nif (isExpoGo && !loggedExpoGoWarning) {\n console.warn(\n 'Due to changes in Androids permission requirements, Expo Go can no longer provide full access to the media library. To test the full functionality of this module, you can create a development build. https://docs.expo.dev/develop/development-builds/create-a-build'\n );\n loggedExpoGoWarning = true;\n}\n\n// @needsAudit\nexport type PermissionResponse = EXPermissionResponse & {\n /**\n * Indicates if your app has access to the whole or only part of the photo library. Possible values are:\n * - `'all'` if the user granted your app access to the whole photo library\n * - `'limited'` if the user granted your app access only to selected photos (only available on Android API 14+ and iOS 14.0+)\n * - `'none'` if user denied or hasn't yet granted the permission\n */\n accessPrivileges?: 'all' | 'limited' | 'none';\n};\n\n/**\n * Determines the type of media that the app will ask the OS to get access to.\n * @platform android 13+\n */\nexport type GranularPermission = 'audio' | 'photo' | 'video';\n\nexport type MediaTypeValue = 'audio' | 'photo' | 'video' | 'unknown' | 'pairedVideo';\n\n/**\n * Represents the possible types of media that the app will ask the OS to get access to when calling [`presentPermissionsPickerAsync()`](#medialibrarypresentpermissionspickerasyncmediatypes).\n * @platform android 14+\n * */\nexport type MediaTypeFilter = 'photo' | 'video';\n\nexport type SortByKey =\n | 'default'\n | 'mediaType'\n | 'width'\n | 'height'\n | 'creationTime'\n | 'modificationTime'\n | 'duration';\nexport type SortByValue = [SortByKey, boolean] | SortByKey;\n\ntype InternalSortByValue = `${SortByKey} ${'ASC' | 'DESC'}`;\n\nexport type MediaTypeObject = {\n audio: 'audio';\n photo: 'photo';\n video: 'video';\n unknown: 'unknown';\n};\n\nexport type SortByObject = {\n default: 'default';\n mediaType: 'mediaType';\n width: 'width';\n height: 'height';\n creationTime: 'creationTime';\n modificationTime: 'modificationTime';\n duration: 'duration';\n};\n\n// @needsAudit\nexport type Asset = {\n /**\n * Internal ID that represents an asset.\n */\n id: string;\n /**\n * Filename of the asset.\n */\n filename: string;\n /**\n * URI that points to the asset. `ph://*` (iOS), `file://*` (Android)\n */\n uri: string;\n /**\n * Media type.\n */\n mediaType: MediaTypeValue;\n /**\n * An array of media subtypes.\n * @platform ios\n */\n mediaSubtypes?: MediaSubtype[];\n /**\n * Width of the image or video.\n */\n width: number;\n /**\n * Height of the image or video.\n */\n height: number;\n /**\n * File creation timestamp.\n */\n creationTime: number;\n /**\n * Last modification timestamp.\n */\n modificationTime: number;\n /**\n * Duration of the video or audio asset in seconds.\n */\n duration: number;\n /**\n * Album ID that the asset belongs to.\n * @platform android\n */\n albumId?: string;\n};\n\n// @needsAudit\nexport type AssetInfo = Asset & {\n /**\n * Local URI for the asset.\n */\n localUri?: string;\n /**\n * GPS location if available.\n */\n location?: Location;\n /**\n * EXIF metadata associated with the image.\n */\n exif?: object;\n /**\n * Whether the asset is marked as favorite.\n * @platform ios\n */\n isFavorite?: boolean;\n /**\n * This field is available only if flag `shouldDownloadFromNetwork` is set to `false`.\n * Whether the asset is stored on the network (iCloud on iOS).\n * @platform ios\n */\n isNetworkAsset?: boolean; //iOS only\n /**\n * Display orientation of the image. Orientation is available only for assets whose\n * `mediaType` is `MediaType.photo`. Value will range from 1 to 8, see [EXIF orientation specification](http://sylvana.net/jpegcrop/exif_orientation.html)\n * for more details.\n * @platform ios\n */\n orientation?: number;\n /**\n * Contains information about the video paired with the image file.\n * This field is available if the `mediaType` is `\"photo\"`, and the `mediaSubtypes` includes `\"livePhoto\"`.\n * @platform ios\n */\n pairedVideoAsset?: Asset | null;\n};\n\n/**\n * Constants identifying specific variations of asset media, such as panorama or screenshot photos,\n * and time-lapse or high-frame-rate video. Maps to [`PHAssetMediaSubtype`](https://developer.apple.com/documentation/photokit/phassetmediasubtype#1603888).\n * @platform ios\n * */\nexport type MediaSubtype =\n | 'depthEffect'\n | 'hdr'\n | 'highFrameRate'\n | 'livePhoto'\n | 'panorama'\n | 'screenshot'\n | 'stream'\n | 'timelapse'\n | 'spatialMedia'\n | 'videoCinematic';\n\n// @needsAudit\nexport type MediaLibraryAssetInfoQueryOptions = {\n /**\n * Whether allow the asset to be downloaded from network. Only available in iOS with iCloud assets.\n * @default true\n */\n shouldDownloadFromNetwork?: boolean;\n};\n\n// @needsAudit\nexport type MediaLibraryAssetsChangeEvent = {\n /**\n * Whether the media library's changes could be described as \"incremental changes\".\n * `true` indicates the changes are described by the `insertedAssets`, `deletedAssets` and\n * `updatedAssets` values. `false` indicates that the scope of changes is too large and you\n * should perform a full assets reload (eg. a user has changed access to individual assets in the\n * media library).\n */\n hasIncrementalChanges: boolean;\n /**\n * Available only if `hasIncrementalChanges` is `true`.\n * Array of [`Asset`](#asset)s that have been inserted to the library.\n */\n insertedAssets?: Asset[];\n /**\n * Available only if `hasIncrementalChanges` is `true`.\n * Array of [`Asset`](#asset)s that have been deleted from the library.\n */\n deletedAssets?: Asset[];\n /**\n * Available only if `hasIncrementalChanges` is `true`.\n * Array of [`Asset`](#asset)s that have been updated or completed downloading from network\n * storage (iCloud on iOS).\n */\n updatedAssets?: Asset[];\n};\n\n// @docsMissing\nexport type Location = {\n latitude: number;\n longitude: number;\n};\n\n// @needsAudit\nexport type Album = {\n /**\n * Album ID.\n */\n id: string;\n /**\n * Album title.\n */\n title: string;\n /**\n * Estimated number of assets in album.\n */\n assetCount: number;\n /**\n * The type of the assets album.\n * @platform ios\n */\n type?: AlbumType;\n /**\n * Apply only to albums whose type is `'moment'`. Earliest creation timestamp of all\n * assets in moment.\n * @platform ios\n */\n startTime: number;\n /**\n * Apply only to albums whose type is `'moment'`. Latest creation timestamp of all\n * assets in moment.\n * @platform ios\n */\n endTime: number;\n /**\n * Apply only to albums whose type is `'moment'`. Approximated location of all\n * assets in moment.\n * @platform ios\n */\n approximateLocation?: Location;\n /**\n * Apply only to albums whose type is `'moment'`. Names of locations grouped\n * in moment.\n * @platform ios\n */\n locationNames?: string[];\n};\n\n// @docsMissing\nexport type AlbumType = 'album' | 'moment' | 'smartAlbum';\n\n// @docsMissing\nexport type AlbumsOptions = {\n includeSmartAlbums?: boolean;\n};\n\n// @needsAudit\nexport type AssetsOptions = {\n /**\n * The maximum number of items on a single page.\n * @default 20\n */\n first?: number;\n /**\n * Asset ID of the last item returned on the previous page. To get the ID of the next page,\n * pass [`endCursor`](#pagedinfo) as its value.\n */\n after?: AssetRef;\n /**\n * [Album](#album) or its ID to get assets from specific album.\n */\n album?: AlbumRef;\n /**\n * An array of [`SortByValue`](#sortbyvalue)s or a single `SortByValue` value. By default, all\n * keys are sorted in descending order, however you can also pass a pair `[key, ascending]` where\n * the second item is a `boolean` value that means whether to use ascending order. Note that if\n * the `SortBy.default` key is used, then `ascending` argument will not matter. Earlier items have\n * higher priority when sorting out the results.\n * If empty, this method uses the default sorting that is provided by the platform.\n */\n sortBy?: SortByValue[] | SortByValue;\n /**\n * An array of [MediaTypeValue](#mediatypevalue)s or a single `MediaTypeValue`.\n * @default MediaType.photo\n */\n mediaType?: MediaTypeValue[] | MediaTypeValue;\n /**\n * An array of [MediaSubtype](#mediasubtype)s or a single `MediaSubtype`.\n * @platform ios\n */\n mediaSubtypes?: MediaSubtype[] | MediaSubtype;\n /**\n * `Date` object or Unix timestamp in milliseconds limiting returned assets only to those that\n * were created after this date.\n */\n createdAfter?: Date | number;\n /**\n * Similarly as `createdAfter`, but limits assets only to those that were created before specified\n * date.\n */\n createdBefore?: Date | number;\n /**\n * Whether to resolve full info for the assets during the query.\n * This is useful to get the full EXIF data for images. It can fix the orientation of the image.\n * @default false\n * @platform android\n */\n resolveWithFullInfo?: boolean;\n};\n\n// @needsAudit\nexport type PagedInfo = {\n /**\n * A page of [`Asset`](#asset)s fetched by the query.\n */\n assets: T[];\n /**\n * A marker that indicates where the next page of results should start.\n * On iOS, it is the ID of the last fetched asset.\n * On Android, it is the index of the last fetched asset in query results.\n * This value should be passed as the `after` option to load the next page.\n */\n endCursor: string;\n /**\n * Whether there are more assets to fetch.\n */\n hasNextPage: boolean;\n /**\n * Estimated total number of assets that match the query.\n */\n totalCount: number;\n};\n\n/**\n * @hidden\n */\nexport type AssetRef = Asset | string;\n\n/**\n * @hidden\n */\nexport type AlbumRef = Album | string;\n\n// TODO(@kitten): Remove re-exports from EMC\nexport {\n PermissionStatus,\n type PermissionExpiration,\n type PermissionResponse as EXPermissionResponse,\n type PermissionHookOptions,\n} from 'expo';\nexport { type EventSubscription as Subscription } from 'expo-modules-core';\n\nfunction arrayize(item: T | T[]): T[] {\n if (Array.isArray(item)) {\n return item;\n }\n return item ? [item] : [];\n}\n\nfunction getId(ref: string | undefined | { id?: string }): string | undefined {\n if (typeof ref === 'string') {\n return ref;\n }\n return ref ? ref.id : undefined;\n}\n\nfunction checkAssetIds(assetIds: unknown[]): asserts assetIds is string[] {\n if (assetIds.some((id) => !id || typeof id !== 'string')) {\n throw new Error('Asset ID must be a string!');\n }\n}\n\nfunction checkAlbumIds(albumIds: unknown[]): asserts albumIds is string[] {\n if (albumIds.some((id) => !id || typeof id !== 'string')) {\n throw new Error('Album ID must be a string!');\n }\n}\n\nfunction checkMediaType(mediaType: unknown): asserts mediaType is keyof MediaTypeObject {\n if (Object.values(MediaType).indexOf(mediaType as any) === -1) {\n throw new Error(`Invalid mediaType: ${mediaType}`);\n }\n}\n\nfunction checkSortBy(sortBy: unknown): asserts sortBy is SortByValue {\n if (Array.isArray(sortBy)) {\n checkSortByKey(sortBy[0]);\n\n if (typeof sortBy[1] !== 'boolean') {\n throw new Error('Invalid sortBy array argument. Second item must be a boolean!');\n }\n } else {\n checkSortByKey(sortBy);\n }\n}\n\nfunction checkSortByKey(sortBy: any): void {\n if (Object.values(SortBy).indexOf(sortBy) === -1) {\n throw new Error(`Invalid sortBy key: ${sortBy}`);\n }\n}\n\nfunction sortByOptionToString(sortBy: SortByValue | undefined): InternalSortByValue {\n checkSortBy(sortBy);\n if (Array.isArray(sortBy)) {\n return `${sortBy[0]} ${sortBy[1] ? 'ASC' : 'DESC'}`;\n }\n return `${sortBy} DESC`;\n}\n\nfunction dateToNumber(value?: Date | number): number | undefined {\n return value instanceof Date ? value.getTime() : value;\n}\n\n// @needsAudit\n/**\n * Possible media types.\n */\nexport const MediaType: MediaTypeObject = MediaLibrary.MediaType;\n\n// @needsAudit\n/**\n * Supported keys that can be used to sort `getAssetsAsync` results.\n */\nexport const SortBy: SortByObject = MediaLibrary.SortBy;\n\n// @needsAudit\n/**\n * Returns whether the Media Library API is enabled on the current device.\n * @return A promise which fulfils with a `boolean`, indicating whether the Media Library API is\n * available on the current device.\n */\nexport async function isAvailableAsync(): Promise {\n return !!MediaLibrary && 'getAssetsAsync' in MediaLibrary;\n}\n\n// @needsAudit @docsMissing\n/**\n * Asks the user to grant permissions for accessing media in user's media library.\n * @param writeOnly\n * @param granularPermissions - A list of [`GranularPermission`](#granularpermission) values. This parameter has an\n * effect only on Android 13 and newer. By default, `expo-media-library` will ask for all possible permissions.\n *\n * > When using granular permissions with a custom config plugin configuration, make sure that all the requested permissions are included in plugin.\n * @return A promise that fulfils with [`PermissionResponse`](#permissionresponse) object.\n */\nexport async function requestPermissionsAsync(\n writeOnly: boolean = false,\n granularPermissions?: GranularPermission[]\n): Promise {\n if (!MediaLibrary.requestPermissionsAsync) {\n throw new UnavailabilityError('MediaLibrary', 'requestPermissionsAsync');\n }\n if (Platform.OS === 'android') {\n return await MediaLibrary.requestPermissionsAsync(writeOnly, granularPermissions);\n }\n return await MediaLibrary.requestPermissionsAsync(writeOnly);\n}\n\n// @needsAudit @docsMissing\n/**\n * Checks user's permissions for accessing media library.\n * @param writeOnly\n * @param granularPermissions - A list of [`GranularPermission`](#granularpermission) values. This parameter has\n * an effect only on Android 13 and newer. By default, `expo-media-library` will ask for all possible permissions.\n * @return A promise that fulfils with [`PermissionResponse`](#permissionresponse) object.\n */\nexport async function getPermissionsAsync(\n writeOnly: boolean = false,\n granularPermissions?: GranularPermission[]\n): Promise {\n if (!MediaLibrary.getPermissionsAsync) {\n throw new UnavailabilityError('MediaLibrary', 'getPermissionsAsync');\n }\n if (Platform.OS === 'android') {\n return await MediaLibrary.getPermissionsAsync(writeOnly, granularPermissions);\n }\n return await MediaLibrary.getPermissionsAsync(writeOnly);\n}\n\n// @needsAudit\n/**\n * Check or request permissions to access the media library.\n * This uses both `requestPermissionsAsync` and `getPermissionsAsync` to interact with the permissions.\n *\n * @example\n * ```ts\n * const [permissionResponse, requestPermission] = MediaLibrary.usePermissions();\n * ```\n */\nexport const usePermissions = createPermissionHook<\n PermissionResponse,\n { writeOnly?: boolean; granularPermissions?: GranularPermission[] }\n>({\n // TODO(cedric): permission requesters should have an options param or a different requester\n getMethod: (options) => getPermissionsAsync(options?.writeOnly, options?.granularPermissions),\n requestMethod: (options) =>\n requestPermissionsAsync(options?.writeOnly, options?.granularPermissions),\n});\n\n// @needsAudit\n/**\n * Allows the user to update the assets that your app has access to.\n * The system modal is only displayed if the user originally allowed only `limited` access to their\n * media library, otherwise this method is a no-op.\n * @param mediaTypes Limits the type(s) of media that the user will be granting access to. By default, a list that shows both photos and videos is presented.\n *\n * @return A promise that either rejects if the method is unavailable, or resolves to `void`.\n * > __Note:__ This method doesn't inform you if the user changes which assets your app has access to.\n * That information is only exposed by iOS, and to obtain it, you need to subscribe for updates to the user's media library using [`addListener()`](#medialibraryaddlistenerlistener).\n * If `hasIncrementalChanges` is `false`, the user changed their permissions.\n *\n * @platform android 14+\n * @platform ios\n */\nexport async function presentPermissionsPickerAsync(\n mediaTypes: MediaTypeFilter[] = ['photo', 'video']\n): Promise {\n if (Platform.OS === 'android' && isExpoGo) {\n throw new UnavailabilityError(\n 'MediaLibrary',\n 'presentPermissionsPickerAsync is unavailable in Expo Go'\n );\n }\n if (Platform.OS === 'android' && Platform.Version >= 34) {\n await MediaLibrary.requestPermissionsAsync(false, mediaTypes);\n return;\n }\n if (!MediaLibrary.presentPermissionsPickerAsync) {\n throw new UnavailabilityError('MediaLibrary', 'presentPermissionsPickerAsync');\n }\n return await MediaLibrary.presentPermissionsPickerAsync();\n}\n\n// @needsAudit\n/**\n * Creates an asset from existing file. The most common use case is to save a picture taken by [Camera](./camera).\n * This method requires `CAMERA_ROLL` permission.\n *\n * @example\n * ```js\n * const { uri } = await Camera.takePictureAsync();\n * const asset = await MediaLibrary.createAssetAsync(uri);\n * ```\n * @param localUri A URI to the image or video file. It must contain an extension. On Android it\n * must be a local path, so it must start with `file:///`\n *\n * @param album An [Album](#album) or its ID. If provided, the asset will be added to this album upon creation, otherwise it will be added to the default album for the media type.\n * The album has exist.\n * @return A promise which fulfils with an object representing an [`Asset`](#asset).\n */\nexport async function createAssetAsync(localUri: string, album?: AlbumRef): Promise {\n if (!MediaLibrary.createAssetAsync) {\n throw new UnavailabilityError('MediaLibrary', 'createAssetAsync');\n }\n\n const albumId = getId(album);\n\n if (!localUri || typeof localUri !== 'string') {\n throw new Error('Invalid argument \"localUri\". It must be a string!');\n }\n const asset = await MediaLibrary.createAssetAsync(localUri, albumId);\n\n if (Array.isArray(asset)) {\n // Android returns an array with asset, we need to pick the first item\n return asset[0];\n }\n return asset;\n}\n\n// @needsAudit\n/**\n * Saves the file at given `localUri` to the user's media library. Unlike `createAssetAsync()`,\n * This method doesn't return created asset.\n * On __iOS 11+__, it's possible to use this method without asking for `CAMERA_ROLL` permission,\n * however then yours `Info.plist` should have `NSPhotoLibraryAddUsageDescription` key.\n * @param localUri A URI to the image or video file. It must contain an extension. On Android it\n * must be a local path, so it must start with `file:///`.\n */\nexport async function saveToLibraryAsync(localUri: string): Promise {\n if (!MediaLibrary.saveToLibraryAsync) {\n throw new UnavailabilityError('MediaLibrary', 'saveToLibraryAsync');\n }\n return await MediaLibrary.saveToLibraryAsync(localUri);\n}\n\n// @needsAudit\n/**\n * Adds array of assets to the album.\n *\n * On Android, by default it copies assets from the current album to provided one, however it's also\n * possible to move them by passing `false` as `copyAssets` argument. In case they're copied you\n * should keep in mind that `getAssetsAsync` will return duplicated assets.\n * @param assets An array of [Asset](#asset) or their IDs.\n * @param album An [Album](#album) or its ID.\n * @param copy __Android only.__ Whether to copy assets to the new album instead of move them.\n * Defaults to `true`.\n * @return Returns promise which fulfils with `true` if the assets were successfully added to\n * the album.\n */\nexport async function addAssetsToAlbumAsync(\n assets: AssetRef[] | AssetRef,\n album: AlbumRef,\n copy: boolean = true\n): Promise {\n if (!MediaLibrary.addAssetsToAlbumAsync) {\n throw new UnavailabilityError('MediaLibrary', 'addAssetsToAlbumAsync');\n }\n\n const assetIds = arrayize(assets).map(getId);\n const albumId = getId(album);\n\n checkAssetIds(assetIds);\n\n if (!albumId || typeof albumId !== 'string') {\n throw new Error('Invalid album ID. It must be a string!');\n }\n\n if (Platform.OS === 'ios') {\n return await MediaLibrary.addAssetsToAlbumAsync(assetIds, albumId);\n }\n return await MediaLibrary.addAssetsToAlbumAsync(assetIds, albumId, !!copy);\n}\n\n// @needsAudit\n/**\n * Removes given assets from album.\n *\n * On Android, album will be automatically deleted if there are no more assets inside.\n * @param assets An array of [Asset](#asset) or their IDs.\n * @param album An [Album](#album) or its ID.\n * @return Returns promise which fulfils with `true` if the assets were successfully removed from\n * the album.\n */\nexport async function removeAssetsFromAlbumAsync(\n assets: AssetRef[] | AssetRef,\n album: AlbumRef\n): Promise {\n if (!MediaLibrary.removeAssetsFromAlbumAsync) {\n throw new UnavailabilityError('MediaLibrary', 'removeAssetsFromAlbumAsync');\n }\n\n const assetIds = arrayize(assets).map(getId);\n const albumId = getId(album);\n\n checkAssetIds(assetIds);\n return await MediaLibrary.removeAssetsFromAlbumAsync(assetIds, albumId);\n}\n\n// @needsAudit\n/**\n * Deletes assets from the library. On iOS it deletes assets from all albums they belong to, while\n * on Android it keeps all copies of them (album is strictly connected to the asset). Also, there is\n * additional dialog on iOS that requires user to confirm this action.\n * @param assets An array of [Asset](#asset) or their IDs.\n * @return Returns promise which fulfils with `true` if the assets were successfully deleted.\n */\nexport async function deleteAssetsAsync(assets: AssetRef[] | AssetRef): Promise {\n if (!MediaLibrary.deleteAssetsAsync) {\n throw new UnavailabilityError('MediaLibrary', 'deleteAssetsAsync');\n }\n\n const assetIds = arrayize(assets).map(getId);\n\n checkAssetIds(assetIds);\n return await MediaLibrary.deleteAssetsAsync(assetIds);\n}\n\n// @needsAudit\n/**\n * Provides more information about an asset, including GPS location, local URI and EXIF metadata.\n * For better performance, prefer using individual getters such as `asset.getLocation()` or `asset.getExif()` to fetch only the data you need.\n * @param asset An [Asset](#asset) or its ID.\n * @param options\n * @return An [AssetInfo](#assetinfo) object, which is an `Asset` extended by an additional fields.\n */\nexport async function getAssetInfoAsync(\n asset: AssetRef,\n options: MediaLibraryAssetInfoQueryOptions = { shouldDownloadFromNetwork: true }\n): Promise {\n if (!MediaLibrary.getAssetInfoAsync) {\n throw new UnavailabilityError('MediaLibrary', 'getAssetInfoAsync');\n }\n\n const assetId = getId(asset);\n\n checkAssetIds([assetId]);\n\n const assetInfo = await MediaLibrary.getAssetInfoAsync(assetId, options);\n\n if (Array.isArray(assetInfo)) {\n // Android returns an array with asset info, we need to pick the first item\n return assetInfo[0];\n }\n return assetInfo;\n}\n\n/**\n * Returns the `content://` URI for the given legacy asset. Use this when migrating to the new\n * class-based API — pass the returned URI as the ID to `new Asset(id)`.\n * @param asset An [`Asset`](#asset) or its ID.\n * @return A promise which fulfils with the `content://` URI string for the asset.\n * @platform android\n */\nexport async function getAssetContentUriAsync(asset: AssetRef): Promise {\n if (Platform.OS !== 'android') {\n throw new UnavailabilityError('MediaLibrary', 'getAssetContentUriAsync');\n }\n\n const assetId = getId(asset);\n\n checkAssetIds([assetId]);\n\n return await MediaLibrary.getAssetContentUriAsync(assetId);\n}\n\n// @needsAudit\n/**\n * Queries for user-created albums in media gallery.\n * @return A promise which fulfils with an array of [`Album`](#asset)s. Depending on Android version,\n * root directory of your storage may be listed as album titled `\"0\"` or unlisted at all.\n */\nexport async function getAlbumsAsync({ includeSmartAlbums = false }: AlbumsOptions = {}): Promise<\n Album[]\n> {\n if (!MediaLibrary.getAlbumsAsync) {\n throw new UnavailabilityError('MediaLibrary', 'getAlbumsAsync');\n }\n return await MediaLibrary.getAlbumsAsync({ includeSmartAlbums });\n}\n\n// @needsAudit\n/**\n * Queries for an album with a specific name.\n * @param title Name of the album to look for.\n * @return An object representing an [`Album`](#album), if album with given name exists, otherwise\n * returns `null`.\n */\nexport async function getAlbumAsync(title: string): Promise {\n if (!MediaLibrary.getAlbumAsync) {\n throw new UnavailabilityError('MediaLibrary', 'getAlbumAsync');\n }\n if (typeof title !== 'string') {\n throw new Error('Album title must be a string!');\n }\n return await MediaLibrary.getAlbumAsync(title);\n}\n\n// @needsAudit\n/**\n * Creates an album with given name and initial asset. The asset parameter is required on Android,\n * since it's not possible to create empty album on this platform. On Android, by default it copies\n * given asset from the current album to the new one, however it's also possible to move it by\n * passing `false` as `copyAsset` argument.\n * In case it's copied you should keep in mind that `getAssetsAsync` will return duplicated asset.\n * > On Android, it's not possible to create an empty album. You must provide an existing asset to copy or move into the album or an uri of a local file, which will be used to create an initial asset for the album.\n * @param albumName Name of the album to create.\n * @param asset An [Asset](#asset) or its ID. On Android you either need to provide an asset or a localUri.\n * @param initialAssetLocalUri A URI to the local media file, which will be used to create the initial asset inside the album. It must contain an extension. On Android it\n * must be a local path, so it must start with `file:///`. If the `asset` was provided, this parameter will be ignored.\n * @param copyAsset __Android Only.__ Whether to copy asset to the new album instead of move it. This parameter is ignored if `asset` was not provided.\n * Defaults to `true`.\n * @return Newly created [`Album`](#album).\n */\nexport async function createAlbumAsync(\n albumName: string,\n asset?: AssetRef,\n copyAsset: boolean = true,\n initialAssetLocalUri?: string\n): Promise {\n if (!MediaLibrary.createAlbumAsync) {\n throw new UnavailabilityError('MediaLibrary', 'createAlbumAsync');\n }\n\n const assetId = getId(asset);\n\n if (\n Platform.OS === 'android' &&\n (typeof assetId !== 'string' || assetId.length === 0) &&\n !initialAssetLocalUri\n ) {\n // it's not possible to create empty album on Android, so initial asset must be provided\n throw new Error(\n 'MediaLibrary.createAlbumAsync must be called with an asset or a localUri on Android.'\n );\n }\n if (!albumName || typeof albumName !== 'string') {\n throw new Error('Invalid argument \"albumName\". It must be a string!');\n }\n if (assetId != null && typeof assetId !== 'string') {\n throw new Error('Asset ID must be a string!');\n }\n\n if (Platform.OS === 'ios') {\n return await MediaLibrary.createAlbumAsync(albumName, assetId, initialAssetLocalUri);\n }\n return await MediaLibrary.createAlbumAsync(albumName, assetId, !!copyAsset, initialAssetLocalUri);\n}\n\n// @needsAudit\n/**\n * Deletes given albums from the library. On Android by default it deletes assets belonging to given\n * albums from the library. On iOS it doesn't delete these assets, however it's possible to do by\n * passing `true` as `deleteAssets`.\n * @param albums An array of [`Album`](#asset)s or their IDs.\n * @param assetRemove __iOS Only.__ Whether to also delete assets belonging to given albums.\n * Defaults to `false`.\n * @return Returns a promise which fulfils with `true` if the albums were successfully deleted from\n * the library.\n */\nexport async function deleteAlbumsAsync(\n albums: AlbumRef[] | AlbumRef,\n assetRemove: boolean = false\n): Promise {\n if (!MediaLibrary.deleteAlbumsAsync) {\n throw new UnavailabilityError('MediaLibrary', 'deleteAlbumsAsync');\n }\n\n const albumIds = arrayize(albums).map(getId);\n\n checkAlbumIds(albumIds);\n if (Platform.OS === 'android') {\n return await MediaLibrary.deleteAlbumsAsync(albumIds);\n }\n return await MediaLibrary.deleteAlbumsAsync(albumIds, !!assetRemove);\n}\n\n// @needsAudit\n/**\n * Fetches a page of assets matching the provided criteria.\n * @param assetsOptions\n * @return A promise that fulfils with to [`PagedInfo`](#pagedinfo) object with array of [`Asset`](#asset)s.\n */\nexport async function getAssetsAsync(assetsOptions: AssetsOptions = {}): Promise> {\n if (!MediaLibrary.getAssetsAsync) {\n throw new UnavailabilityError('MediaLibrary', 'getAssetsAsync');\n }\n\n const {\n first,\n after,\n album,\n sortBy,\n mediaType,\n createdAfter,\n createdBefore,\n mediaSubtypes,\n resolveWithFullInfo,\n } = assetsOptions;\n\n const options = {\n first: first == null ? 20 : first,\n after: getId(after),\n album: getId(album),\n sortBy: arrayize(sortBy),\n mediaType: arrayize(mediaType || [MediaType.photo]),\n mediaSubtypes: arrayize(mediaSubtypes),\n createdAfter: dateToNumber(createdAfter),\n createdBefore: dateToNumber(createdBefore),\n resolveWithFullInfo: resolveWithFullInfo ?? false,\n };\n\n if (first != null && typeof options.first !== 'number') {\n throw new Error('Option \"first\" must be a number!');\n }\n if (after != null && typeof options.after !== 'string') {\n throw new Error('Option \"after\" must be a string!');\n }\n if (album != null && typeof options.album !== 'string') {\n throw new Error('Option \"album\" must be a string!');\n }\n if (after != null && Platform.OS === 'android' && isNaN(parseInt(getId(after) as string, 10))) {\n throw new Error('Option \"after\" must be a valid ID!');\n }\n if (first != null && first < 0) {\n throw new Error('Option \"first\" must be a positive integer!');\n }\n\n options.mediaType.forEach(checkMediaType);\n // TODO(@kitten): Add expected native types for `MediaLibrary`\n return await MediaLibrary.getAssetsAsync({\n ...options,\n sortBy: options.sortBy.map(sortByOptionToString),\n });\n}\n\n// @needsAudit\n/**\n * Subscribes for updates in user's media library.\n * @param listener A callback that is fired when any assets have been inserted or deleted from the\n * library. On Android it's invoked with an empty object. On iOS, it's invoked with [`MediaLibraryAssetsChangeEvent`](#medialibraryassetschangeevent)\n * object.\n *\n * Additionally, only on iOS, the listener is also invoked when the user changes access to individual assets in media library\n * using `presentPermissionsPickerAsync()`.\n * @return An [`Subscription`](#subscription) object that you can call `remove()` on when you would\n * like to unsubscribe the listener.\n */\nexport function addListener(\n listener: (event: MediaLibraryAssetsChangeEvent) => void\n): EventSubscription {\n return MediaLibrary.addListener(MediaLibrary.CHANGE_LISTENER_NAME, listener);\n}\n\n/**\n */\nexport function removeSubscription(subscription: EventSubscription): void {\n subscription.remove();\n}\n\n// @needsAudit\n/**\n * Removes all listeners.\n */\nexport function removeAllListeners(): void {\n MediaLibrary.removeAllListeners(MediaLibrary.CHANGE_LISTENER_NAME);\n}\n\n// @needsAudit\n/**\n * Fetches a list of moments, which is a group of assets taken around the same place\n * and time.\n * @return An array of [albums](#album) whose type is `moment`.\n * @platform ios\n */\nexport async function getMomentsAsync() {\n if (!MediaLibrary.getMomentsAsync) {\n throw new UnavailabilityError('MediaLibrary', 'getMomentsAsync');\n }\n\n return await MediaLibrary.getMomentsAsync();\n}\n\n// @needsAudit\n/**\n * Moves album content to the special media directories on **Android R** or **above** if needed.\n * Those new locations are in line with the Android `scoped storage` - so your application won't\n * lose write permission to those directories in future.\n *\n * This method does nothing if:\n * - app is running on **iOS**, **web** or **Android below R**\n * - app has **write permission** to the album folder\n *\n * The migration is possible when the album contains only compatible files types.\n * For instance, movies and pictures are compatible with each other, but music and pictures are not.\n * If automatic migration isn't possible, the function rejects.\n * In that case, you can use methods from the `expo-file-system` to migrate all your files manually.\n *\n * # Why do you need to migrate files?\n * __Android R__ introduced a lot of changes in storage system. Now applications can't save\n * anything to the root directory. The only available locations are from the `MediaStore` API.\n * Unfortunately, the media library stored albums in folders for which, because of those changes,\n * the application doesn't have permissions anymore. However, it doesn't mean you need to migrate\n * all your albums. If your application doesn't add assets to albums, you don't have to migrate.\n * Everything will work as it used to. You can read more about scoped storage in [the Android documentation](https://developer.android.com/about/versions/11/privacy/storage).\n *\n * @param album An [Album](#album) or its ID.\n * @return A promise which fulfils to `void`.\n */\nexport async function migrateAlbumIfNeededAsync(album: AlbumRef): Promise {\n if (!MediaLibrary.migrateAlbumIfNeededAsync) {\n return;\n }\n\n return await MediaLibrary.migrateAlbumIfNeededAsync(getId(album));\n}\n\n// @needsAudit\n/**\n * Checks if the album should be migrated to a different location. In other words, it checks if the\n * application has the write permission to the album folder. If not, it returns `true`, otherwise `false`.\n * > Note: For **Android below R**, **web** or **iOS**, this function always returns `false`.\n * @param album An [Album](#album) or its ID.\n * @return Returns a promise which fulfils with `true` if the album should be migrated.\n */\nexport async function albumNeedsMigrationAsync(album: AlbumRef): Promise {\n if (!MediaLibrary.albumNeedsMigrationAsync) {\n return false;\n }\n\n return await MediaLibrary.albumNeedsMigrationAsync(getId(album));\n}\n\n/**\n * On iOS, this adds or removes the asset from the system \"Favorites\" smart album.\n * @param asset An [Asset](#asset) or its ID.\n * @param isFavorite Whether the asset should be marked as favorite.\n * @platform ios\n * @return Returns a promise which fulfils with `true` if the operation was successful.\n */\nexport async function setAssetFavoriteAsync(\n asset: AssetRef,\n isFavorite: boolean\n): Promise {\n if (!MediaLibrary.setAssetFavoriteAsync) {\n throw new UnavailabilityError('MediaLibrary', 'setAssetFavoriteAsync');\n }\n\n if (Platform.OS !== 'ios') {\n throw new UnavailabilityError('MediaLibrary', 'setAssetFavoriteAsync is only available on iOS');\n }\n\n const assetId = getId(asset);\n\n checkAssetIds([assetId]);\n\n return await MediaLibrary.setAssetFavoriteAsync(assetId, isFavorite);\n}\n"]} \ No newline at end of file diff --git a/packages/expo-media-library/build/legacyWarnings.d.ts b/packages/expo-media-library/build/legacyWarnings.d.ts index 16f61be5a4166f..1eb7815c6589c5 100644 --- a/packages/expo-media-library/build/legacyWarnings.d.ts +++ b/packages/expo-media-library/build/legacyWarnings.d.ts @@ -72,4 +72,8 @@ export declare function albumNeedsMigrationAsync(album: AlbumRef): Promise; +/** + * @deprecated Import this method from `expo-media-library/legacy`. This method will throw in runtime. + */ +export declare function getAssetContentUriAsync(asset: AssetRef): Promise; //# sourceMappingURL=legacyWarnings.d.ts.map \ No newline at end of file diff --git a/packages/expo-media-library/build/legacyWarnings.d.ts.map b/packages/expo-media-library/build/legacyWarnings.d.ts.map index 3eeffd83f61d56..3eb4705aa00d37 100644 --- a/packages/expo-media-library/build/legacyWarnings.d.ts.map +++ b/packages/expo-media-library/build/legacyWarnings.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"legacyWarnings.d.ts","sourceRoot":"","sources":["../src/legacyWarnings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EACV,KAAK,EACL,QAAQ,EACR,aAAa,EACb,KAAK,EACL,SAAS,EACT,QAAQ,EACR,aAAa,EACb,iCAAiC,EACjC,eAAe,EACf,SAAS,EACV,MAAM,uBAAuB,CAAC;AAQ/B;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEzD;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjG;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAEzF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAExE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAC7B,KAAK,EAAE,QAAQ,EACf,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAC7B,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAEvF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,QAAQ,EACf,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CAAC,SAAS,CAAC,CAEpB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAE9E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAEjE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,QAAQ,EAChB,SAAS,CAAC,EAAE,OAAO,EACnB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,OAAO,CAAC,KAAK,CAAC,CAEhB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAC7B,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,aAAa,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAEjG;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAExE;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAExD;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9E;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAEhF;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,OAAO,CAAC,CAElB"} \ No newline at end of file +{"version":3,"file":"legacyWarnings.d.ts","sourceRoot":"","sources":["../src/legacyWarnings.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-media-library/build/legacyWarnings.js b/packages/expo-media-library/build/legacyWarnings.js index 6fd1ec5c20fa6d..ec1f064a7be5f3 100644 --- a/packages/expo-media-library/build/legacyWarnings.js +++ b/packages/expo-media-library/build/legacyWarnings.js @@ -111,4 +111,10 @@ export async function albumNeedsMigrationAsync(album) { export async function setAssetFavoriteAsync(asset, isFavorite) { throw errorOnLegacyMethodUse('setAssetFavoriteAsync'); } +/** + * @deprecated Import this method from `expo-media-library/legacy`. This method will throw in runtime. + */ +export async function getAssetContentUriAsync(asset) { + throw errorOnLegacyMethodUse('getAssetContentUriAsync'); +} //# sourceMappingURL=legacyWarnings.js.map \ No newline at end of file diff --git a/packages/expo-media-library/build/legacyWarnings.js.map b/packages/expo-media-library/build/legacyWarnings.js.map index 1d047e93b67c23..b427b25a48f7d7 100644 --- a/packages/expo-media-library/build/legacyWarnings.js.map +++ b/packages/expo-media-library/build/legacyWarnings.js.map @@ -1 +1 @@ -{"version":3,"file":"legacyWarnings.js","sourceRoot":"","sources":["../src/legacyWarnings.ts"],"names":[],"mappings":"AAeA,SAAS,sBAAsB,CAAC,UAAkB;IAChD,MAAM,OAAO,GAAG,UAAU,UAAU,qTAAqT,CAAC;IAC1V,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,UAA8B;IAChF,MAAM,sBAAsB,CAAC,+BAA+B,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,KAAgB;IACvE,MAAM,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACvD,MAAM,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAA6B,EAC7B,KAAe,EACf,IAAc;IAEd,MAAM,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAA6B,EAC7B,KAAe;IAEf,MAAM,sBAAsB,CAAC,4BAA4B,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAA6B;IACnE,MAAM,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAe,EACf,OAA2C;IAE3C,MAAM,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAuB;IAC1D,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAa;IAC/C,MAAM,sBAAsB,CAAC,eAAe,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAiB,EACjB,KAAgB,EAChB,SAAmB,EACnB,oBAA6B;IAE7B,MAAM,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAA6B,EAC7B,WAAqB;IAErB,MAAM,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,gBAA+B,EAAE;IACpE,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAA+B;IAChE,MAAM,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,KAAe;IAC7D,MAAM,sBAAsB,CAAC,2BAA2B,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,KAAe;IAC5D,MAAM,sBAAsB,CAAC,0BAA0B,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAe,EACf,UAAmB;IAEnB,MAAM,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;AACxD,CAAC","sourcesContent":["import type { EventSubscription } from 'expo-modules-core';\n\nimport type {\n Album,\n AlbumRef,\n AlbumsOptions,\n Asset,\n AssetInfo,\n AssetRef,\n AssetsOptions,\n MediaLibraryAssetInfoQueryOptions,\n MediaTypeFilter,\n PagedInfo,\n} from './legacy/MediaLibrary';\n\nfunction errorOnLegacyMethodUse(methodName: string): Error {\n const message = `Method ${methodName} imported from \"expo-media-library\" is deprecated.\\nImport the legacy API from \"expo-media-library/legacy\" or migrate to the new class-based API from \"expo-media-library\".\\nAPI reference and migration examples are available in the media library docs: https://docs.expo.dev/versions/latest/sdk/media-library/`;\n console.warn(message);\n return new Error(message);\n}\n\n/**\n * @deprecated Import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function isAvailableAsync(): Promise {\n throw errorOnLegacyMethodUse('isAvailableAsync');\n}\n\n/**\n * @deprecated Use `presentPermissionsPicker()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function presentPermissionsPickerAsync(mediaTypes?: MediaTypeFilter[]): Promise {\n throw errorOnLegacyMethodUse('presentPermissionsPickerAsync');\n}\n\n/**\n * @deprecated Use `Asset.create()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function createAssetAsync(localUri: string, album?: AlbumRef): Promise {\n throw errorOnLegacyMethodUse('createAssetAsync');\n}\n\n/**\n * @deprecated Use `Asset.create()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function saveToLibraryAsync(localUri: string): Promise {\n throw errorOnLegacyMethodUse('saveToLibraryAsync');\n}\n\n/**\n * @deprecated Use `album.add()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function addAssetsToAlbumAsync(\n assets: AssetRef[] | AssetRef,\n album: AlbumRef,\n copy?: boolean\n): Promise {\n throw errorOnLegacyMethodUse('addAssetsToAlbumAsync');\n}\n\n/**\n * @deprecated Use `album.removeAssets()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function removeAssetsFromAlbumAsync(\n assets: AssetRef[] | AssetRef,\n album: AlbumRef\n): Promise {\n throw errorOnLegacyMethodUse('removeAssetsFromAlbumAsync');\n}\n\n/**\n * @deprecated Use `asset.delete()` or `Asset.delete()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function deleteAssetsAsync(assets: AssetRef[] | AssetRef): Promise {\n throw errorOnLegacyMethodUse('deleteAssetsAsync');\n}\n\n/**\n * @deprecated Use `asset.getInfo()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function getAssetInfoAsync(\n asset: AssetRef,\n options?: MediaLibraryAssetInfoQueryOptions\n): Promise {\n throw errorOnLegacyMethodUse('getAssetInfoAsync');\n}\n\n/**\n * @deprecated Use `Album.getAll()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function getAlbumsAsync(options?: AlbumsOptions): Promise {\n throw errorOnLegacyMethodUse('getAlbumsAsync');\n}\n\n/**\n * @deprecated Use `Album.get(title)` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function getAlbumAsync(title: string): Promise {\n throw errorOnLegacyMethodUse('getAlbumAsync');\n}\n\n/**\n * @deprecated Use `Album.create()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function createAlbumAsync(\n albumName: string,\n asset?: AssetRef,\n copyAsset?: boolean,\n initialAssetLocalUri?: string\n): Promise {\n throw errorOnLegacyMethodUse('createAlbumAsync');\n}\n\n/**\n * @deprecated Use `album.delete()` or `Album.delete()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function deleteAlbumsAsync(\n albums: AlbumRef[] | AlbumRef,\n assetRemove?: boolean\n): Promise {\n throw errorOnLegacyMethodUse('deleteAlbumsAsync');\n}\n\n/**\n * @deprecated Use the `Query` class or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function getAssetsAsync(assetsOptions: AssetsOptions = {}): Promise> {\n throw errorOnLegacyMethodUse('getAssetsAsync');\n}\n\n/**\n * @deprecated Use `subscription.remove()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport function removeSubscription(subscription: EventSubscription): void {\n throw errorOnLegacyMethodUse('removeSubscription');\n}\n\n/**\n * @deprecated Import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function getMomentsAsync(): Promise {\n throw errorOnLegacyMethodUse('getMomentsAsync');\n}\n\n/**\n * @deprecated Import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function migrateAlbumIfNeededAsync(album: AlbumRef): Promise {\n throw errorOnLegacyMethodUse('migrateAlbumIfNeededAsync');\n}\n\n/**\n * @deprecated Import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function albumNeedsMigrationAsync(album: AlbumRef): Promise {\n throw errorOnLegacyMethodUse('albumNeedsMigrationAsync');\n}\n\n/**\n * @deprecated Use `asset.setFavorite()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function setAssetFavoriteAsync(\n asset: AssetRef,\n isFavorite: boolean\n): Promise {\n throw errorOnLegacyMethodUse('setAssetFavoriteAsync');\n}\n"]} \ No newline at end of file +{"version":3,"file":"legacyWarnings.js","sourceRoot":"","sources":["../src/legacyWarnings.ts"],"names":[],"mappings":"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","sourcesContent":["import type { EventSubscription } from 'expo-modules-core';\n\nimport type {\n Album,\n AlbumRef,\n AlbumsOptions,\n Asset,\n AssetInfo,\n AssetRef,\n AssetsOptions,\n MediaLibraryAssetInfoQueryOptions,\n MediaTypeFilter,\n PagedInfo,\n} from './legacy/MediaLibrary';\n\nfunction errorOnLegacyMethodUse(methodName: string): Error {\n const message = `Method ${methodName} imported from \"expo-media-library\" is deprecated.\\nImport the legacy API from \"expo-media-library/legacy\" or migrate to the new class-based API from \"expo-media-library\".\\nAPI reference and migration examples are available in the media library docs: https://docs.expo.dev/versions/latest/sdk/media-library/`;\n console.warn(message);\n return new Error(message);\n}\n\n/**\n * @deprecated Import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function isAvailableAsync(): Promise {\n throw errorOnLegacyMethodUse('isAvailableAsync');\n}\n\n/**\n * @deprecated Use `presentPermissionsPicker()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function presentPermissionsPickerAsync(mediaTypes?: MediaTypeFilter[]): Promise {\n throw errorOnLegacyMethodUse('presentPermissionsPickerAsync');\n}\n\n/**\n * @deprecated Use `Asset.create()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function createAssetAsync(localUri: string, album?: AlbumRef): Promise {\n throw errorOnLegacyMethodUse('createAssetAsync');\n}\n\n/**\n * @deprecated Use `Asset.create()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function saveToLibraryAsync(localUri: string): Promise {\n throw errorOnLegacyMethodUse('saveToLibraryAsync');\n}\n\n/**\n * @deprecated Use `album.add()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function addAssetsToAlbumAsync(\n assets: AssetRef[] | AssetRef,\n album: AlbumRef,\n copy?: boolean\n): Promise {\n throw errorOnLegacyMethodUse('addAssetsToAlbumAsync');\n}\n\n/**\n * @deprecated Use `album.removeAssets()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function removeAssetsFromAlbumAsync(\n assets: AssetRef[] | AssetRef,\n album: AlbumRef\n): Promise {\n throw errorOnLegacyMethodUse('removeAssetsFromAlbumAsync');\n}\n\n/**\n * @deprecated Use `asset.delete()` or `Asset.delete()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function deleteAssetsAsync(assets: AssetRef[] | AssetRef): Promise {\n throw errorOnLegacyMethodUse('deleteAssetsAsync');\n}\n\n/**\n * @deprecated Use `asset.getInfo()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function getAssetInfoAsync(\n asset: AssetRef,\n options?: MediaLibraryAssetInfoQueryOptions\n): Promise {\n throw errorOnLegacyMethodUse('getAssetInfoAsync');\n}\n\n/**\n * @deprecated Use `Album.getAll()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function getAlbumsAsync(options?: AlbumsOptions): Promise {\n throw errorOnLegacyMethodUse('getAlbumsAsync');\n}\n\n/**\n * @deprecated Use `Album.get(title)` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function getAlbumAsync(title: string): Promise {\n throw errorOnLegacyMethodUse('getAlbumAsync');\n}\n\n/**\n * @deprecated Use `Album.create()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function createAlbumAsync(\n albumName: string,\n asset?: AssetRef,\n copyAsset?: boolean,\n initialAssetLocalUri?: string\n): Promise {\n throw errorOnLegacyMethodUse('createAlbumAsync');\n}\n\n/**\n * @deprecated Use `album.delete()` or `Album.delete()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function deleteAlbumsAsync(\n albums: AlbumRef[] | AlbumRef,\n assetRemove?: boolean\n): Promise {\n throw errorOnLegacyMethodUse('deleteAlbumsAsync');\n}\n\n/**\n * @deprecated Use the `Query` class or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function getAssetsAsync(assetsOptions: AssetsOptions = {}): Promise> {\n throw errorOnLegacyMethodUse('getAssetsAsync');\n}\n\n/**\n * @deprecated Use `subscription.remove()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport function removeSubscription(subscription: EventSubscription): void {\n throw errorOnLegacyMethodUse('removeSubscription');\n}\n\n/**\n * @deprecated Import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function getMomentsAsync(): Promise {\n throw errorOnLegacyMethodUse('getMomentsAsync');\n}\n\n/**\n * @deprecated Import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function migrateAlbumIfNeededAsync(album: AlbumRef): Promise {\n throw errorOnLegacyMethodUse('migrateAlbumIfNeededAsync');\n}\n\n/**\n * @deprecated Import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function albumNeedsMigrationAsync(album: AlbumRef): Promise {\n throw errorOnLegacyMethodUse('albumNeedsMigrationAsync');\n}\n\n/**\n * @deprecated Use `asset.setFavorite()` or import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function setAssetFavoriteAsync(\n asset: AssetRef,\n isFavorite: boolean\n): Promise {\n throw errorOnLegacyMethodUse('setAssetFavoriteAsync');\n}\n\n/**\n * @deprecated Import this method from `expo-media-library/legacy`. This method will throw in runtime.\n */\nexport async function getAssetContentUriAsync(asset: AssetRef): Promise {\n throw errorOnLegacyMethodUse('getAssetContentUriAsync');\n}\n"]} \ No newline at end of file diff --git a/packages/expo-media-library/src/legacy/MediaLibrary.ts b/packages/expo-media-library/src/legacy/MediaLibrary.ts index 1db86aabed114b..a4429bcb1de127 100644 --- a/packages/expo-media-library/src/legacy/MediaLibrary.ts +++ b/packages/expo-media-library/src/legacy/MediaLibrary.ts @@ -713,6 +713,25 @@ export async function getAssetInfoAsync( return assetInfo; } +/** + * Returns the `content://` URI for the given legacy asset. Use this when migrating to the new + * class-based API — pass the returned URI as the ID to `new Asset(id)`. + * @param asset An [`Asset`](#asset) or its ID. + * @return A promise which fulfils with the `content://` URI string for the asset. + * @platform android + */ +export async function getAssetContentUriAsync(asset: AssetRef): Promise { + if (Platform.OS !== 'android') { + throw new UnavailabilityError('MediaLibrary', 'getAssetContentUriAsync'); + } + + const assetId = getId(asset); + + checkAssetIds([assetId]); + + return await MediaLibrary.getAssetContentUriAsync(assetId); +} + // @needsAudit /** * Queries for user-created albums in media gallery. diff --git a/packages/expo-media-library/src/legacyWarnings.ts b/packages/expo-media-library/src/legacyWarnings.ts index f3a7e0d5bf7888..2abb5947101caa 100644 --- a/packages/expo-media-library/src/legacyWarnings.ts +++ b/packages/expo-media-library/src/legacyWarnings.ts @@ -165,3 +165,10 @@ export async function setAssetFavoriteAsync( ): Promise { throw errorOnLegacyMethodUse('setAssetFavoriteAsync'); } + +/** + * @deprecated Import this method from `expo-media-library/legacy`. This method will throw in runtime. + */ +export async function getAssetContentUriAsync(asset: AssetRef): Promise { + throw errorOnLegacyMethodUse('getAssetContentUriAsync'); +} From a3cef20c7e14a9460ed8f0c76894e408dbd5fb60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Kosmaty?= Date: Mon, 15 Jun 2026 13:57:16 +0200 Subject: [PATCH 04/14] [build-properties][Android] Shared PCH accross codegen targets (#46915) --- .../android/app/src/main/jni/CMakeLists.txt | 25 ++++++++------- .../app/src/main/jni/appmodules_pch_owner.cpp | 2 ++ packages/expo-build-properties/CHANGELOG.md | 4 +++ .../expo-build-properties/build/android.js | 1 + .../build/androidPCHTemplates.d.ts | 3 +- .../build/androidPCHTemplates.js | 32 +++++++++++++++++-- packages/expo-build-properties/src/android.ts | 5 +++ .../src/androidPCHTemplates.ts | 31 ++++++++++++++++-- 8 files changed, 86 insertions(+), 17 deletions(-) create mode 100644 apps/bare-expo/android/app/src/main/jni/appmodules_pch_owner.cpp diff --git a/apps/bare-expo/android/app/src/main/jni/CMakeLists.txt b/apps/bare-expo/android/app/src/main/jni/CMakeLists.txt index 3c0b1d782419f0..5b2c2fccf65919 100644 --- a/apps/bare-expo/android/app/src/main/jni/CMakeLists.txt +++ b/apps/bare-expo/android/app/src/main/jni/CMakeLists.txt @@ -6,22 +6,20 @@ include(${REACT_ANDROID_DIR}/cmake-utils/ReactNative-application.cmake) set(PCH_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/pch.h") -set(_pch_owner_src "${CMAKE_CURRENT_BINARY_DIR}/appmodules_pch_owner.cpp") -file(WRITE "${_pch_owner_src}" - "// Generated by CMakeLists.txt. Translation unit exists solely so the\n" - "// owning target can produce a .pch binary that codegen targets reuse.\n") - -add_library(appmodules_pch STATIC EXCLUDE_FROM_ALL "${_pch_owner_src}") +add_library(appmodules_pch STATIC EXCLUDE_FROM_ALL "${CMAKE_CURRENT_SOURCE_DIR}/appmodules_pch_owner.cpp") # Apply the exact same compile options codegen targets get from RN's target_compile_reactnative_options(appmodules_pch PRIVATE) # Link dependencies needed by our PCH header -foreach (_dep IN ITEMS common_flags reactnative jsi folly_runtime fbjni) - if (TARGET ${_dep}) - target_link_libraries(appmodules_pch PRIVATE ${_dep}) - endif () -endforeach () +target_link_libraries(appmodules_pch PRIVATE common_flags reactnative jsi folly_runtime fbjni) + +# Stop Clang from embedding a build timestamp in the .pch. Without this the PCH +# is non-reproducible across builds, so ccache can't reuse it and dependent +# translation units reject a restored PCH as "modified since built". +target_compile_options(appmodules_pch PRIVATE + "$<$:-Xclang;-fno-pch-timestamp>" +) target_precompile_headers(appmodules_pch PRIVATE "$<$:${PCH_HEADER}>" @@ -42,6 +40,11 @@ function(add_pch_if_eligible target) return() endif () + # Keep the flag consistent with the PCH owner - see the note above. + target_compile_options(${target} PRIVATE + "$<$:-Xclang;-fno-pch-timestamp>" + ) + target_precompile_headers(${target} REUSE_FROM appmodules_pch) endfunction() diff --git a/apps/bare-expo/android/app/src/main/jni/appmodules_pch_owner.cpp b/apps/bare-expo/android/app/src/main/jni/appmodules_pch_owner.cpp new file mode 100644 index 00000000000000..b9de7638cdb2b4 --- /dev/null +++ b/apps/bare-expo/android/app/src/main/jni/appmodules_pch_owner.cpp @@ -0,0 +1,2 @@ +// Translation unit exists solely so the owning target can produce a .pch +// binary that codegen targets reuse. diff --git a/packages/expo-build-properties/CHANGELOG.md b/packages/expo-build-properties/CHANGELOG.md index acaf70ad7dbee2..598df8e6cdc961 100644 --- a/packages/expo-build-properties/CHANGELOG.md +++ b/packages/expo-build-properties/CHANGELOG.md @@ -8,8 +8,12 @@ ### 🐛 Bug fixes +- [Android] Make the precompiled header reusable by passing `-Xclang -fno-pch-timestamp`, so ccache can reuse it across builds. ([#46915](https://github.com/expo/expo/pull/46915) by [@lukmccall](https://github.com/lukmccall)) + ### 💡 Others +- [Android] Compile the precompiled header once in a shared owner target and reuse it across all codegen targets, instead of building a separate PCH per target. ([#46915](https://github.com/expo/expo/pull/46915) by [@lukmccall](https://github.com/lukmccall)) + ## 56.0.15 — 2026-05-26 ### 🐛 Bug fixes diff --git a/packages/expo-build-properties/build/android.js b/packages/expo-build-properties/build/android.js index cb1f2bb4af71cc..3e817244009d4f 100644 --- a/packages/expo-build-properties/build/android.js +++ b/packages/expo-build-properties/build/android.js @@ -315,6 +315,7 @@ const withAndroidPrecompiledHeaders = (config, props) => { fs_1.default.promises.writeFile(path_1.default.join(jniDir, 'CMakeLists.txt'), androidPCHTemplates_1.PCH_CMAKE_CONTENTS), fs_1.default.promises.writeFile(path_1.default.join(jniDir, 'OnLoad.cpp'), androidPCHTemplates_1.PCH_ONLOAD_CONTENTS), fs_1.default.promises.writeFile(path_1.default.join(jniDir, 'pch.h'), androidPCHTemplates_1.PCH_HEADER_CONTENTS), + fs_1.default.promises.writeFile(path_1.default.join(jniDir, 'appmodules_pch_owner.cpp'), androidPCHTemplates_1.PCH_OWNER_SOURCE_CONTENTS), ]); return config; }, diff --git a/packages/expo-build-properties/build/androidPCHTemplates.d.ts b/packages/expo-build-properties/build/androidPCHTemplates.d.ts index e9228654212930..29882b8c58f92e 100644 --- a/packages/expo-build-properties/build/androidPCHTemplates.d.ts +++ b/packages/expo-build-properties/build/androidPCHTemplates.d.ts @@ -1,4 +1,5 @@ -export declare const PCH_CMAKE_CONTENTS = "cmake_minimum_required(VERSION 3.16)\n\nproject(appmodules)\n\ninclude(${REACT_ANDROID_DIR}/cmake-utils/ReactNative-application.cmake)\n\nset(PCH_HEADER \"${CMAKE_CURRENT_SOURCE_DIR}/pch.h\")\n\nfunction(add_pch_if_eligible target)\n if (NOT TARGET ${target})\n return()\n endif ()\n\n get_target_property(is_imported ${target} IMPORTED)\n if (is_imported)\n return()\n endif ()\n\n get_target_property(target_type ${target} TYPE)\n if (target_type STREQUAL \"INTERFACE_LIBRARY\")\n return()\n endif ()\n\n target_precompile_headers(${target} PRIVATE\n \"$<$:${PCH_HEADER}>\"\n )\nendfunction()\n\nif (DEFINED AUTOLINKED_LIBRARIES)\n foreach (lib IN LISTS AUTOLINKED_LIBRARIES)\n add_pch_if_eligible(${lib})\n endforeach ()\nendif ()\n"; +export declare const PCH_CMAKE_CONTENTS = "cmake_minimum_required(VERSION 3.16)\n\nproject(appmodules)\n\ninclude(${REACT_ANDROID_DIR}/cmake-utils/ReactNative-application.cmake)\n\nset(PCH_HEADER \"${CMAKE_CURRENT_SOURCE_DIR}/pch.h\")\n\nadd_library(appmodules_pch STATIC EXCLUDE_FROM_ALL \"${CMAKE_CURRENT_SOURCE_DIR}/appmodules_pch_owner.cpp\")\n\n# Apply the exact same compile options codegen targets get from RN's\ntarget_compile_reactnative_options(appmodules_pch PRIVATE)\n\n# Link dependencies needed by our PCH header\ntarget_link_libraries(appmodules_pch PRIVATE common_flags reactnative jsi folly_runtime fbjni)\n\n# Stop Clang from embedding a build timestamp in the .pch. Without this the PCH\n# is non-reproducible across builds, so ccache can't reuse it and dependent\n# translation units reject a restored PCH as \"modified since built\".\ntarget_compile_options(appmodules_pch PRIVATE\n \"$<$:-Xclang;-fno-pch-timestamp>\"\n)\n\ntarget_precompile_headers(appmodules_pch PRIVATE\n \"$<$:${PCH_HEADER}>\"\n)\n\nfunction(add_pch_if_eligible target)\n if (NOT TARGET ${target})\n return()\n endif ()\n\n get_target_property(is_imported ${target} IMPORTED)\n if (is_imported)\n return()\n endif ()\n\n get_target_property(target_type ${target} TYPE)\n if (target_type STREQUAL \"INTERFACE_LIBRARY\")\n return()\n endif ()\n\n # Keep the flag consistent with the PCH owner - see the note above.\n target_compile_options(${target} PRIVATE\n \"$<$:-Xclang;-fno-pch-timestamp>\"\n )\n\n target_precompile_headers(${target} REUSE_FROM appmodules_pch)\nendfunction()\n\nif (DEFINED AUTOLINKED_LIBRARIES)\n foreach (lib IN LISTS AUTOLINKED_LIBRARIES)\n add_pch_if_eligible(${lib})\n endforeach ()\nendif ()\n"; +export declare const PCH_OWNER_SOURCE_CONTENTS = "// Translation unit exists solely so the owning target can produce a .pch\n// binary that codegen targets reuse.\n"; export declare const PCH_ONLOAD_CONTENTS = "/*\n * Based on https://github.com/facebook/react-native/blob/main/packages/react-native/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp\n */\n\n#include \n#include \n#include \n#include \n#include \n#include \n\n#ifdef REACT_NATIVE_APP_CODEGEN_HEADER\n#include REACT_NATIVE_APP_CODEGEN_HEADER\n#endif\n#ifdef REACT_NATIVE_APP_COMPONENT_DESCRIPTORS_HEADER\n#include REACT_NATIVE_APP_COMPONENT_DESCRIPTORS_HEADER\n#endif\n\nnamespace facebook::react {\n\nvoid registerComponents(\n std::shared_ptr registry) {\n#ifdef REACT_NATIVE_APP_COMPONENT_REGISTRATION\n REACT_NATIVE_APP_COMPONENT_REGISTRATION(registry);\n#endif\n\n autolinking_registerProviders(registry);\n}\n\nstd::shared_ptr cxxModuleProvider(\n const std::string& name,\n const std::shared_ptr& jsInvoker) {\n return autolinking_cxxModuleProvider(name, jsInvoker);\n\n return nullptr;\n}\n\nstd::shared_ptr javaModuleProvider(\n const std::string& name,\n const JavaTurboModule::InitParams& params) {\n#ifdef REACT_NATIVE_APP_MODULE_PROVIDER\n auto module = REACT_NATIVE_APP_MODULE_PROVIDER(name, params);\n if (module != nullptr) {\n return module;\n }\n#endif\n\n if (auto module = FBReactNativeSpec_ModuleProvider(name, params)) {\n return module;\n }\n\n if (auto module = autolinking_ModuleProvider(name, params)) {\n return module;\n }\n\n return nullptr;\n}\n\n} // namespace facebook::react\n\nJNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {\n return facebook::jni::initialize(vm, [] {\n facebook::react::DefaultTurboModuleManagerDelegate::cxxModuleProvider =\n &facebook::react::cxxModuleProvider;\n facebook::react::DefaultTurboModuleManagerDelegate::javaModuleProvider =\n &facebook::react::javaModuleProvider;\n facebook::react::DefaultComponentsRegistry::\n registerComponentDescriptorsFromEntryPoint =\n &facebook::react::registerComponents;\n });\n}\n"; export declare const PCH_HEADER_CONTENTS = "#pragma once\n\n// RN core headers used across autolinked codegen modules\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n"; export declare const STUB_PCH_GRADLE_TASK = "def cxxDir = project.file(\".cxx\")\ndef generateStubPCHTask = tasks.register(\"generateStubPCH\") {\n dependsOn(\"configureCMakeDebug\")\n\n doLast {\n if (!cxxDir.exists()) {\n return\n }\n\n cxxDir.eachFileRecurse { file ->\n if (file.name != \"compile_commands.json\") {\n return\n }\n\n new groovy.json.JsonSlurper().parseText(file.text).each { entry ->\n if (!entry.file.endsWith(\"cmake_pch.hxx.cxx\")) {\n return\n }\n\n def pchFile = new File(entry.file.substring(0, entry.file.length() - \".cxx\".length()) + \".pch\")\n\n if (!pchFile.exists() || pchFile.length() == 0) {\n pchFile.parentFile.mkdirs()\n\n def compiler = entry.command.split(\" \")[0]\n def target = (entry.command =~ /--target=\\S+/)[0]\n def sysroot = (entry.command =~ /--sysroot=\\S+/)[0]\n\n def stubHeader = new File(pchFile.parentFile, \"stub_pch.hxx\")\n stubHeader.text = \"\"\n\n def process = new ProcessBuilder(\n compiler,\n target,\n sysroot,\n \"-x\", \"c++-header\",\n \"-o\", pchFile.absolutePath,\n stubHeader.absolutePath\n )\n .directory(new File(entry.directory))\n .redirectErrorStream(true)\n .start()\n process.outputStream.close()\n if (process.waitFor() != 0) {\n throw new GradleException(\"Stub PCH generation failed: ${process.inputStream.text}\")\n }\n }\n\n pchFile.setLastModified(new File(entry.file).lastModified() - 1)\n }\n }\n }\n}\n\ntasks.register(\"prepareKotlinBuildScriptModel\") {\n dependsOn(generateStubPCHTask)\n}"; diff --git a/packages/expo-build-properties/build/androidPCHTemplates.js b/packages/expo-build-properties/build/androidPCHTemplates.js index 460aa807ad2a05..124fbe0cb9c1e3 100644 --- a/packages/expo-build-properties/build/androidPCHTemplates.js +++ b/packages/expo-build-properties/build/androidPCHTemplates.js @@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.STUB_PCH_GRADLE_TASK = exports.PCH_HEADER_CONTENTS = exports.PCH_ONLOAD_CONTENTS = exports.PCH_CMAKE_CONTENTS = void 0; +exports.STUB_PCH_GRADLE_TASK = exports.PCH_HEADER_CONTENTS = exports.PCH_ONLOAD_CONTENTS = exports.PCH_OWNER_SOURCE_CONTENTS = exports.PCH_CMAKE_CONTENTS = void 0; exports.PCH_CMAKE_CONTENTS = `\ cmake_minimum_required(VERSION 3.16) @@ -10,6 +10,25 @@ include(\${REACT_ANDROID_DIR}/cmake-utils/ReactNative-application.cmake) set(PCH_HEADER "\${CMAKE_CURRENT_SOURCE_DIR}/pch.h") +add_library(appmodules_pch STATIC EXCLUDE_FROM_ALL "\${CMAKE_CURRENT_SOURCE_DIR}/appmodules_pch_owner.cpp") + +# Apply the exact same compile options codegen targets get from RN's +target_compile_reactnative_options(appmodules_pch PRIVATE) + +# Link dependencies needed by our PCH header +target_link_libraries(appmodules_pch PRIVATE common_flags reactnative jsi folly_runtime fbjni) + +# Stop Clang from embedding a build timestamp in the .pch. Without this the PCH +# is non-reproducible across builds, so ccache can't reuse it and dependent +# translation units reject a restored PCH as "modified since built". +target_compile_options(appmodules_pch PRIVATE + "$<$:-Xclang;-fno-pch-timestamp>" +) + +target_precompile_headers(appmodules_pch PRIVATE + "$<$:\${PCH_HEADER}>" +) + function(add_pch_if_eligible target) if (NOT TARGET \${target}) return() @@ -25,9 +44,12 @@ function(add_pch_if_eligible target) return() endif () - target_precompile_headers(\${target} PRIVATE - "$<$:\${PCH_HEADER}>" + # Keep the flag consistent with the PCH owner - see the note above. + target_compile_options(\${target} PRIVATE + "$<$:-Xclang;-fno-pch-timestamp>" ) + + target_precompile_headers(\${target} REUSE_FROM appmodules_pch) endfunction() if (DEFINED AUTOLINKED_LIBRARIES) @@ -36,6 +58,10 @@ if (DEFINED AUTOLINKED_LIBRARIES) endforeach () endif () `; +exports.PCH_OWNER_SOURCE_CONTENTS = `\ +// Translation unit exists solely so the owning target can produce a .pch +// binary that codegen targets reuse. +`; exports.PCH_ONLOAD_CONTENTS = `\ /* * Based on https://github.com/facebook/react-native/blob/main/packages/react-native/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp diff --git a/packages/expo-build-properties/src/android.ts b/packages/expo-build-properties/src/android.ts index 7ac5f1e56541fe..5f6f13968aa747 100644 --- a/packages/expo-build-properties/src/android.ts +++ b/packages/expo-build-properties/src/android.ts @@ -15,6 +15,7 @@ import { PCH_CMAKE_CONTENTS, PCH_HEADER_CONTENTS, PCH_ONLOAD_CONTENTS, + PCH_OWNER_SOURCE_CONTENTS, STUB_PCH_GRADLE_TASK, } from './androidPCHTemplates'; import { renderQueryIntents, renderQueryPackages, renderQueryProviders } from './androidQueryUtils'; @@ -385,6 +386,10 @@ export const withAndroidPrecompiledHeaders: ConfigPlugin = (co fs.promises.writeFile(path.join(jniDir, 'CMakeLists.txt'), PCH_CMAKE_CONTENTS), fs.promises.writeFile(path.join(jniDir, 'OnLoad.cpp'), PCH_ONLOAD_CONTENTS), fs.promises.writeFile(path.join(jniDir, 'pch.h'), PCH_HEADER_CONTENTS), + fs.promises.writeFile( + path.join(jniDir, 'appmodules_pch_owner.cpp'), + PCH_OWNER_SOURCE_CONTENTS + ), ]); return config; }, diff --git a/packages/expo-build-properties/src/androidPCHTemplates.ts b/packages/expo-build-properties/src/androidPCHTemplates.ts index 041dc113492b44..5ea41dca847814 100644 --- a/packages/expo-build-properties/src/androidPCHTemplates.ts +++ b/packages/expo-build-properties/src/androidPCHTemplates.ts @@ -7,6 +7,25 @@ include(\${REACT_ANDROID_DIR}/cmake-utils/ReactNative-application.cmake) set(PCH_HEADER "\${CMAKE_CURRENT_SOURCE_DIR}/pch.h") +add_library(appmodules_pch STATIC EXCLUDE_FROM_ALL "\${CMAKE_CURRENT_SOURCE_DIR}/appmodules_pch_owner.cpp") + +# Apply the exact same compile options codegen targets get from RN's +target_compile_reactnative_options(appmodules_pch PRIVATE) + +# Link dependencies needed by our PCH header +target_link_libraries(appmodules_pch PRIVATE common_flags reactnative jsi folly_runtime fbjni) + +# Stop Clang from embedding a build timestamp in the .pch. Without this the PCH +# is non-reproducible across builds, so ccache can't reuse it and dependent +# translation units reject a restored PCH as "modified since built". +target_compile_options(appmodules_pch PRIVATE + "$<$:-Xclang;-fno-pch-timestamp>" +) + +target_precompile_headers(appmodules_pch PRIVATE + "$<$:\${PCH_HEADER}>" +) + function(add_pch_if_eligible target) if (NOT TARGET \${target}) return() @@ -22,9 +41,12 @@ function(add_pch_if_eligible target) return() endif () - target_precompile_headers(\${target} PRIVATE - "$<$:\${PCH_HEADER}>" + # Keep the flag consistent with the PCH owner - see the note above. + target_compile_options(\${target} PRIVATE + "$<$:-Xclang;-fno-pch-timestamp>" ) + + target_precompile_headers(\${target} REUSE_FROM appmodules_pch) endfunction() if (DEFINED AUTOLINKED_LIBRARIES) @@ -34,6 +56,11 @@ if (DEFINED AUTOLINKED_LIBRARIES) endif () `; +export const PCH_OWNER_SOURCE_CONTENTS = `\ +// Translation unit exists solely so the owning target can produce a .pch +// binary that codegen targets reuse. +`; + export const PCH_ONLOAD_CONTENTS = `\ /* * Based on https://github.com/facebook/react-native/blob/main/packages/react-native/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp From 2c34320b4dccaa463df243aa6adb526f60877027 Mon Sep 17 00:00:00 2001 From: Aman Mittal Date: Mon, 15 Jun 2026 17:43:23 +0530 Subject: [PATCH 05/14] [docs] Bump @expo/styleguide-search-ui to 9.1.7 (#46917) --- docs/package.json | 2 +- docs/pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/package.json b/docs/package.json index 1a707ee3a5e6e3..58bb11e254aa45 100644 --- a/docs/package.json +++ b/docs/package.json @@ -40,7 +40,7 @@ "@expo/styleguide-base": "^3.1.2", "@expo/styleguide-cookie-consent": "^2.1.2", "@expo/styleguide-icons": "^4.2.4", - "@expo/styleguide-search-ui": "^9.1.6", + "@expo/styleguide-search-ui": "^9.1.7", "@formatjs/intl-localematcher": "^0.8.5", "@kapaai/react-sdk": "^0.9.6", "@mdx-js/loader": "^3.1.1", diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index de557aa6ed31fb..010e95d6b37bea 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -29,8 +29,8 @@ importers: specifier: ^4.2.4 version: 4.2.4(react@19.2.6)(tailwindcss@4.2.4) '@expo/styleguide-search-ui': - specifier: ^9.1.6 - version: 9.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(next@16.2.6(patch_hash=423eaa79c801dbfda09aef892b3236e0194d49baf618fb3c7a89ec95d486eaeb)(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(tailwindcss@4.2.4) + specifier: ^9.1.7 + version: 9.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(next@16.2.6(patch_hash=423eaa79c801dbfda09aef892b3236e0194d49baf618fb3c7a89ec95d486eaeb)(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(tailwindcss@4.2.4) '@formatjs/intl-localematcher': specifier: ^0.8.5 version: 0.8.5 @@ -776,8 +776,8 @@ packages: react: '>= 19' tailwindcss: ^4.2.2 - '@expo/styleguide-search-ui@9.1.6': - resolution: {integrity: sha512-NAbjOl42ZsyWcOL0rXQ9c+DsxE1VUuXKgJm7YnRc5ksarsWqDVYWXv/v0FrQEuTgeAxe/pbE17jLnJlLGESzRw==} + '@expo/styleguide-search-ui@9.1.7': + resolution: {integrity: sha512-hAqSR5Gw/XVYM1kZceKSAhQN+yPoAjyFUQsF9YxzWAf22QQjP8SrIVEotlsz4vaVE7mNwsq+dmPS81diY+ckhA==} peerDependencies: next: '>= 16' react: '>= 19' @@ -7571,7 +7571,7 @@ snapshots: react: 19.2.6 tailwindcss: 4.2.4 - '@expo/styleguide-search-ui@9.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(next@16.2.6(patch_hash=423eaa79c801dbfda09aef892b3236e0194d49baf618fb3c7a89ec95d486eaeb)(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(tailwindcss@4.2.4)': + '@expo/styleguide-search-ui@9.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(next@16.2.6(patch_hash=423eaa79c801dbfda09aef892b3236e0194d49baf618fb3c7a89ec95d486eaeb)(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(tailwindcss@4.2.4)': dependencies: '@expo/styleguide': 14.1.5(next@16.2.6(patch_hash=423eaa79c801dbfda09aef892b3236e0194d49baf618fb3c7a89ec95d486eaeb)(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(tailwindcss@4.2.4) '@expo/styleguide-icons': 4.2.4(react@19.2.6)(tailwindcss@4.2.4) From 6ae5c9c260c66128afad6d7f3b07f1e1d3088c30 Mon Sep 17 00:00:00 2001 From: Aman Mittal Date: Mon, 15 Jun 2026 17:43:41 +0530 Subject: [PATCH 06/14] [docs] Document developmentClient build profile requirement on dev-client page (#46899) --- .../versions/unversioned/sdk/dev-client.mdx | 22 ++++++++++++++++--- .../pages/versions/v56.0.0/sdk/dev-client.mdx | 22 ++++++++++++++++--- 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/docs/pages/versions/unversioned/sdk/dev-client.mdx b/docs/pages/versions/unversioned/sdk/dev-client.mdx index 23ffdccf04a1ae..e4ff81f90bfb99 100644 --- a/docs/pages/versions/unversioned/sdk/dev-client.mdx +++ b/docs/pages/versions/unversioned/sdk/dev-client.mdx @@ -23,6 +23,23 @@ Expo documentation refers to debug builds that include `expo-dev-client` as [dev +When you create a build with EAS Build, set `developmentClient` to `true` on a build profile in your **eas.json**. Without it, EAS Build produces a standalone build with no development tools. For example: + +```json eas.json +{ + "build": { + "development": { + "developmentClient": true, + "distribution": "internal" + /* @hide ... */ /* @end */ + } + } + /* @hide ... */ /* @end */ +} +``` + +For more information, see the [`developmentClient` property in the eas.json reference](/eas/json/#developmentclient). + If you are installing this in an [existing React Native app](/bare/overview/), start by installing [`expo`](/bare/installing-expo-modules/) in your project. Then, follow the instructions from [Install `expo-dev-client` in an existing React Native project](/bare/install-dev-builds-in-bare/). ## Configuration in app config @@ -101,9 +118,8 @@ You can configure development client launcher using its built-in [config plugin] ## TV support -- This library is only supported for TV in SDK 54 and later. - - **Android TV**: All operations are supported, similar to an Android phone. - - **Apple TV**: Basic operations with a local or tunneled packager are supported. Authentication to EAS and listing of EAS builds and updates is not yet supported. +- **Android TV**: All operations are supported, similar to an Android phone. +- **Apple TV**: Basic operations with a local or tunneled packager are supported. Authentication to EAS and listing of EAS builds and updates is not yet supported. ## API diff --git a/docs/pages/versions/v56.0.0/sdk/dev-client.mdx b/docs/pages/versions/v56.0.0/sdk/dev-client.mdx index 708365bf5498f6..2a1de430419808 100644 --- a/docs/pages/versions/v56.0.0/sdk/dev-client.mdx +++ b/docs/pages/versions/v56.0.0/sdk/dev-client.mdx @@ -23,6 +23,23 @@ Expo documentation refers to debug builds that include `expo-dev-client` as [dev +When you create a build with EAS Build, set `developmentClient` to `true` on a build profile in your **eas.json**. Without it, EAS Build produces a standalone build with no development tools. For example: + +```json eas.json +{ + "build": { + "development": { + "developmentClient": true, + "distribution": "internal" + /* @hide ... */ /* @end */ + } + } + /* @hide ... */ /* @end */ +} +``` + +For more information, see the [`developmentClient` property in the eas.json reference](/eas/json/#developmentclient). + If you are installing this in an [existing React Native app](/bare/overview/), start by installing [`expo`](/bare/installing-expo-modules/) in your project. Then, follow the instructions from [Install `expo-dev-client` in an existing React Native project](/bare/install-dev-builds-in-bare/). ## Configuration in app config @@ -101,9 +118,8 @@ You can configure development client launcher using its built-in [config plugin] ## TV support -- This library is only supported for TV in SDK 54 and later. - - **Android TV**: All operations are supported, similar to an Android phone. - - **Apple TV**: Basic operations with a local or tunneled packager are supported. Authentication to EAS and listing of EAS builds and updates is not yet supported. +- **Android TV**: All operations are supported, similar to an Android phone. +- **Apple TV**: Basic operations with a local or tunneled packager are supported. Authentication to EAS and listing of EAS builds and updates is not yet supported. ## API From c50731e47c8b4c2a5e49756b18a57640c4f60b90 Mon Sep 17 00:00:00 2001 From: Aman Mittal Date: Mon, 15 Jun 2026 17:45:05 +0530 Subject: [PATCH 07/14] [docs] Sync Expo Skills (#46916) --- .../ExpoSkillsTable/data/expo-skills.json | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/docs/ui/components/ExpoSkillsTable/data/expo-skills.json b/docs/ui/components/ExpoSkillsTable/data/expo-skills.json index 79751eb6b4e3d3..0f1d8f7f51e7ac 100644 --- a/docs/ui/components/ExpoSkillsTable/data/expo-skills.json +++ b/docs/ui/components/ExpoSkillsTable/data/expo-skills.json @@ -2,9 +2,9 @@ "source": { "repo": "expo/skills", "url": "https://api.github.com/repos/expo/skills/contents/plugins/expo/skills", - "fetchedAt": "2026-05-29T10:56:22.852Z" + "fetchedAt": "2026-06-15T11:39:09.228Z" }, - "totalSkills": 16, + "totalSkills": 15, "skills": [ { "name": "add-app-clip", @@ -62,14 +62,9 @@ "githubUrl": "https://github.com/expo/skills/blob/main/plugins/expo/skills/expo-tailwind-setup/SKILL.md" }, { - "name": "expo-ui-jetpack-compose", - "description": "`@expo/ui/jetpack-compose` package lets you use Jetpack Compose Views and modifiers in your app.", - "githubUrl": "https://github.com/expo/skills/blob/main/plugins/expo/skills/expo-ui-jetpack-compose/SKILL.md" - }, - { - "name": "expo-ui-swift-ui", - "description": "`@expo/ui/swift-ui` package lets you use SwiftUI Views and modifiers in your app.", - "githubUrl": "https://github.com/expo/skills/blob/main/plugins/expo/skills/expo-ui-swift-ui/SKILL.md" + "name": "expo-ui", + "description": "Build native UI with the @expo/ui package: real SwiftUI on iOS and Jetpack Compose on Android rendered from React in an Expo or React Native app. Covers universal cross-platform components (Host, Column, Row, Button, Text, List, and more imported from @expo/ui), drop-in replacements for popular React Native community libraries (BottomSheet, DateTimePicker, Slider, Menu, etc.), and platform-specific SwiftUI (@expo/ui/swift-ui) and Jetpack Compose (@expo/ui/jetpack-compose) trees and modifiers. Use when adding or reviewing @expo/ui Host/RNHostView trees, building native-feeling UI where standard React Native components fall short (lists with swipe actions and sections, settings forms with toggles, menus, sheets, pickers, sliders), choosing between universal and platform-specific components, or replacing an RN community UI library with a native @expo/ui equivalent. Not for custom native modules, Expo Router navigation, Reanimated, or data fetching.", + "githubUrl": "https://github.com/expo/skills/blob/main/plugins/expo/skills/expo-ui/SKILL.md" }, { "name": "native-data-fetching", From 4a3141a66e18fda14aafe9972fff7eb5e6c37fa3 Mon Sep 17 00:00:00 2001 From: Mathieu Acthernoene Date: Mon, 15 Jun 2026 14:15:34 +0200 Subject: [PATCH 08/14] [tools] Remove obsolete react-native nightly patches (#46861) --- tools/src/commands/SetupReactNativeNightly.ts | 13 +- .../patches/datetimepicker.patch | 31 ---- .../patches/lottie-react-native.patch | 11 -- .../patches/react-native-reanimated.patch | 57 ------- .../react-native-safe-area-context.patch | 151 ------------------ .../patches/react-native-screens.patch | 13 -- 6 files changed, 4 insertions(+), 272 deletions(-) delete mode 100644 tools/src/react-native-nightlies/patches/datetimepicker.patch delete mode 100644 tools/src/react-native-nightlies/patches/lottie-react-native.patch delete mode 100644 tools/src/react-native-nightlies/patches/react-native-reanimated.patch delete mode 100644 tools/src/react-native-nightlies/patches/react-native-safe-area-context.patch delete mode 100644 tools/src/react-native-nightlies/patches/react-native-screens.patch diff --git a/tools/src/commands/SetupReactNativeNightly.ts b/tools/src/commands/SetupReactNativeNightly.ts index 998fb1dc6245d8..4514db3c105916 100644 --- a/tools/src/commands/SetupReactNativeNightly.ts +++ b/tools/src/commands/SetupReactNativeNightly.ts @@ -41,7 +41,7 @@ async function main() { 'lottie-react-native': 'latest', 'react-native-pager-view': 'latest', 'react-native-safe-area-context': 'latest', - 'react-native-screens': '3.29.0', + 'react-native-screens': 'latest', 'react-native-svg': 'latest', 'react-native-webview': 'latest', })), @@ -51,14 +51,9 @@ async function main() { logger.info('Installing...'); await workspaceInstallAsync(); - const patches = [ - 'datetimepicker.patch', - 'lottie-react-native.patch', - 'react-native-pager-view.patch', - 'react-native-screens.patch', - 'react-native-reanimated.patch', - 'react-native-safe-area-context.patch', - ]; + // Patches for 3rd party libraries that don't build against react-native nightlies yet. + // Add a `*.patch` file under `react-native-nightlies/patches` and list its filename here. + const patches: string[] = []; await Promise.all( patches.map(async (patch) => { const patchFile = path.join(PATCHES_ROOT, patch); diff --git a/tools/src/react-native-nightlies/patches/datetimepicker.patch b/tools/src/react-native-nightlies/patches/datetimepicker.patch deleted file mode 100644 index 2ba2f42297ceb0..00000000000000 --- a/tools/src/react-native-nightlies/patches/datetimepicker.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a/node_modules/@react-native-community/datetimepicker/ios/fabric/cpp/react/renderer/components/RNDateTimePicker/ComponentDescriptors.h -+++ b/node_modules/@react-native-community/datetimepicker/ios/fabric/cpp/react/renderer/components/RNDateTimePicker/ComponentDescriptors.h -@@ -18,20 +18,20 @@ - public: - using ConcreteComponentDescriptor::ConcreteComponentDescriptor; - -- void adopt(ShadowNode::Unshared const &shadowNode) const override { -- react_native_assert(std::dynamic_pointer_cast(shadowNode)); -- auto pickerShadowNode = std::static_pointer_cast(shadowNode); -+ void adopt(ShadowNode &shadowNode) const override { -+ react_native_assert(dynamic_cast(&shadowNode)); -+ auto &pickerShadowNode = static_cast(shadowNode); - - react_native_assert( -- std::dynamic_pointer_cast(pickerShadowNode)); -- auto layoutableShadowNode = -- std::static_pointer_cast(pickerShadowNode); -+ dynamic_cast(&pickerShadowNode)); -+ auto &layoutableShadowNode = -+ static_cast(pickerShadowNode); - -- auto state = std::static_pointer_cast(shadowNode->getState()); -+ auto state = std::static_pointer_cast(shadowNode.getState()); - auto stateData = state->getData(); - - if(stateData.frameSize.width != 0 && stateData.frameSize.height != 0) { -- layoutableShadowNode->setSize(Size{stateData.frameSize.width, stateData.frameSize.height}); -+ layoutableShadowNode.setSize(Size{stateData.frameSize.width, stateData.frameSize.height}); - } - - ConcreteComponentDescriptor::adopt(shadowNode); diff --git a/tools/src/react-native-nightlies/patches/lottie-react-native.patch b/tools/src/react-native-nightlies/patches/lottie-react-native.patch deleted file mode 100644 index a2800d21f3cef5..00000000000000 --- a/tools/src/react-native-nightlies/patches/lottie-react-native.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewPropertyManager.kt -+++ b/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewPropertyManager.kt -@@ -18,7 +18,7 @@ import com.facebook.react.bridge.ReadableArray - import com.facebook.react.bridge.ReadableMap - import com.facebook.react.bridge.ReadableType - import com.facebook.react.views.text.ReactFontManager --import com.facebook.react.views.text.TextAttributeProps.UNSET -+import com.facebook.react.common.ReactConstants.UNSET - import com.facebook.react.util.RNLog - import java.lang.ref.WeakReference - import java.util.regex.Pattern diff --git a/tools/src/react-native-nightlies/patches/react-native-reanimated.patch b/tools/src/react-native-nightlies/patches/react-native-reanimated.patch deleted file mode 100644 index cebb442902511d..00000000000000 --- a/tools/src/react-native-nightlies/patches/react-native-reanimated.patch +++ /dev/null @@ -1,57 +0,0 @@ ---- a/node_modules/react-native-reanimated/Common/cpp/Fabric/ShadowTreeCloner.cpp -+++ b/node_modules/react-native-reanimated/Common/cpp/Fabric/ShadowTreeCloner.cpp -@@ -22,7 +22,7 @@ - PropsParserContext propsParserContext{ - source->getSurfaceId(), *source->getContextContainer()}; - const auto props = source->getComponentDescriptor().cloneProps( -- propsParserContext, source->getProps(), rawProps); -+ propsParserContext, source->getProps(), std::move(rawProps)); - - auto newChildNode = source->clone({/* .props = */ props}); - ---- a/node_modules/react-native-reanimated/Common/cpp/NativeModules/NativeReanimatedModule.cpp -+++ b/node_modules/react-native-reanimated/Common/cpp/NativeModules/NativeReanimatedModule.cpp -@@ -39,7 +39,7 @@ - - #if REACT_NATIVE_MINOR_VERSION >= 73 && defined(RCT_NEW_ARCH_ENABLED) - // Android can't find the definition of this static field --bool CoreFeatures::useNativeState; -+// bool CoreFeatures::useNativeState; - #endif - - namespace reanimated { ---- a/node_modules/react-native-reanimated/android/src/reactNativeVersionPatch/ReanimatedUIManager/latest/com/swmansion/reanimated/layoutReanimation/ReanimatedUIManager.java -+++ b/node_modules/react-native-reanimated/android/src/reactNativeVersionPatch/ReanimatedUIManager/latest/com/swmansion/reanimated/layoutReanimation/ReanimatedUIManager.java -@@ -90,32 +90,6 @@ public class ReanimatedUIManager extends UIManagerModule { - super.setChildren(viewTag, childrenTags); - } - -- /** -- * Replaces the View specified by oldTag with the View specified by newTag within oldTag's parent. -- * This resolves to a simple {@link #manageChildren} call, but React doesn't have enough info in -- * JS to formulate it itself. -- * -- * @deprecated This method will not be available in Fabric UIManager class. -- */ -- @ReactMethod -- @Deprecated -- public void replaceExistingNonRootView(int oldTag, int newTag) { -- super.replaceExistingNonRootView(oldTag, newTag); -- } -- -- /** -- * Method which takes a container tag and then releases all subviews for that container upon -- * receipt. -- * -- * @param containerTag the tag of the container for which the subviews must be removed -- * @deprecated This method will not be available in Fabric UIManager class. -- */ -- @ReactMethod -- @Deprecated -- public void removeSubviewsFromContainerWithID(int containerTag) { -- super.removeSubviewsFromContainerWithID(containerTag); -- } -- - /** - * Determines the location on screen, width, and height of the given view and returns the values - * via an async callback. diff --git a/tools/src/react-native-nightlies/patches/react-native-safe-area-context.patch b/tools/src/react-native-nightlies/patches/react-native-safe-area-context.patch deleted file mode 100644 index 2df93213f10ecc..00000000000000 --- a/tools/src/react-native-nightlies/patches/react-native-safe-area-context.patch +++ /dev/null @@ -1,151 +0,0 @@ ---- a/node_modules/react-native-safe-area-context/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewShadowNode.cpp -+++ b/node_modules/react-native-safe-area-context/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewShadowNode.cpp -@@ -10,17 +10,14 @@ - - extern const char RNCSafeAreaViewComponentName[] = "RNCSafeAreaView"; - --inline YGValue --valueFromEdges(yoga::Style::Edges edges, YGEdge edge, YGEdge axis) { -- YGValue edgeValue = edges[edge]; -- if (edgeValue.unit != YGUnitUndefined) { -- return edgeValue; -+inline yoga::Style::Length edgeLengthFallback(const yoga::Style::Length &length1, const yoga::Style::Length &length2, const yoga::Style::Length &length3) { -+ if (length1.isDefined()) { -+ return length1; - } -- YGValue axisValue = edges[axis]; -- if (axisValue.unit != YGUnitUndefined) { -- return axisValue; -+ if (length2.isDefined()) { -+ return length2; - } -- return edges[YGEdgeAll]; -+ return length3; - } - - inline float -@@ -37,7 +34,7 @@ - void RNCSafeAreaViewShadowNode::adjustLayoutWithState() { - ensureUnsealed(); - -- auto props = getConcreteProps(); -+ auto &props = getConcreteProps(); - auto state = - std::static_pointer_cast( - getState()); -@@ -47,69 +44,58 @@ - // Get the current values for padding / margin. The only caveat here is that - // percent values are not supported. Also might need to add support for start - // / end. -- YGValue top, left, right, bottom; -+ yoga::Style::Length top, left, right, bottom; - if (props.mode == RNCSafeAreaViewMode::Padding) { -- top = valueFromEdges(props.yogaStyle.padding(), YGEdgeTop, YGEdgeVertical); -- left = -- valueFromEdges(props.yogaStyle.padding(), YGEdgeLeft, YGEdgeHorizontal); -- bottom = -- valueFromEdges(props.yogaStyle.padding(), YGEdgeBottom, YGEdgeVertical); -- right = valueFromEdges( -- props.yogaStyle.padding(), YGEdgeRight, YGEdgeHorizontal); -+ top = edgeLengthFallback(props.yogaStyle.padding(yoga::Edge::Top), props.yogaStyle.padding(yoga::Edge::Vertical), props.yogaStyle.padding(yoga::Edge::All)); -+ left = edgeLengthFallback(props.yogaStyle.padding(yoga::Edge::Left), props.yogaStyle.padding(yoga::Edge::Horizontal), props.yogaStyle.padding(yoga::Edge::All)); -+ bottom = edgeLengthFallback(props.yogaStyle.padding(yoga::Edge::Bottom), props.yogaStyle.padding(yoga::Edge::Vertical), props.yogaStyle.padding(yoga::Edge::All)); -+ right = edgeLengthFallback(props.yogaStyle.padding(yoga::Edge::Right), props.yogaStyle.padding(yoga::Edge::Horizontal), props.yogaStyle.padding(yoga::Edge::All)); - } else { -- top = valueFromEdges(props.yogaStyle.margin(), YGEdgeTop, YGEdgeVertical); -- left = -- valueFromEdges(props.yogaStyle.margin(), YGEdgeLeft, YGEdgeHorizontal); -- bottom = -- valueFromEdges(props.yogaStyle.margin(), YGEdgeBottom, YGEdgeVertical); -- right = -- valueFromEdges(props.yogaStyle.margin(), YGEdgeRight, YGEdgeHorizontal); -+ top = edgeLengthFallback(props.yogaStyle.margin(yoga::Edge::Top), props.yogaStyle.margin(yoga::Edge::Vertical), props.yogaStyle.margin(yoga::Edge::All)); -+ left = edgeLengthFallback(props.yogaStyle.margin(yoga::Edge::Left), props.yogaStyle.margin(yoga::Edge::Horizontal), props.yogaStyle.margin(yoga::Edge::All)); -+ bottom = edgeLengthFallback(props.yogaStyle.margin(yoga::Edge::Bottom), props.yogaStyle.margin(yoga::Edge::Vertical), props.yogaStyle.margin(yoga::Edge::All)); -+ right = edgeLengthFallback(props.yogaStyle.margin(yoga::Edge::Right), props.yogaStyle.margin(yoga::Edge::Horizontal), props.yogaStyle.margin(yoga::Edge::All)); - } - -- top = yoga::CompactValue::ofMaybe(getEdgeValue( -+ top = yoga::value::points(getEdgeValue( - edges.top, - stateData.insets.top, -- (top.unit == YGUnitPoint ? top.value : 0))); -- left = yoga::CompactValue::ofMaybe(getEdgeValue( -+ (top.unit() == yoga::Unit::Point ? top.value() : yoga::FloatOptional{0}).unwrap())); -+ left = yoga::value::points(getEdgeValue( - edges.left, - stateData.insets.left, -- (left.unit == YGUnitPoint ? left.value : 0))); -- right = yoga::CompactValue::ofMaybe(getEdgeValue( -+ (left.unit() == yoga::Unit::Point ? top.value() : yoga::FloatOptional{0}).unwrap())); -+ right = yoga::value::points(getEdgeValue( - edges.right, - stateData.insets.right, -- (right.unit == YGUnitPoint ? right.value : 0))); -- bottom = yoga::CompactValue::ofMaybe(getEdgeValue( -+ (right.unit() == yoga::Unit::Point ? top.value() : yoga::FloatOptional{0}).unwrap())); -+ bottom = yoga::value::points(getEdgeValue( - edges.bottom, - stateData.insets.bottom, -- (bottom.unit == YGUnitPoint ? bottom.value : 0))); -+ (bottom.unit() == yoga::Unit::Point ? top.value() : yoga::FloatOptional{0}).unwrap())); - - yoga::Style adjustedStyle = getConcreteProps().yogaStyle; - if (props.mode == RNCSafeAreaViewMode::Padding) { -- adjustedStyle.padding()[YGEdgeTop] = top; -- adjustedStyle.padding()[YGEdgeLeft] = left; -- adjustedStyle.padding()[YGEdgeRight] = right; -- adjustedStyle.padding()[YGEdgeBottom] = bottom; -+ adjustedStyle.setPadding(yoga::Edge::Top, top); -+ adjustedStyle.setPadding(yoga::Edge::Left, left); -+ adjustedStyle.setPadding(yoga::Edge::Right, right); -+ adjustedStyle.setPadding(yoga::Edge::Bottom, bottom); - } else { -- adjustedStyle.margin()[YGEdgeTop] = top; -- adjustedStyle.margin()[YGEdgeLeft] = left; -- adjustedStyle.margin()[YGEdgeRight] = right; -- adjustedStyle.margin()[YGEdgeBottom] = bottom; -+ adjustedStyle.setMargin(yoga::Edge::Top, top); -+ adjustedStyle.setMargin(yoga::Edge::Left, left); -+ adjustedStyle.setMargin(yoga::Edge::Right, right); -+ adjustedStyle.setMargin(yoga::Edge::Bottom, bottom); - } - - auto currentStyle = yogaNode_.getStyle(); -- if (adjustedStyle.padding()[YGEdgeTop] != currentStyle.padding()[YGEdgeTop] || -- adjustedStyle.padding()[YGEdgeLeft] != -- currentStyle.padding()[YGEdgeLeft] || -- adjustedStyle.padding()[YGEdgeRight] != -- currentStyle.padding()[YGEdgeRight] || -- adjustedStyle.padding()[YGEdgeBottom] != -- currentStyle.padding()[YGEdgeBottom] || -- adjustedStyle.margin()[YGEdgeTop] != currentStyle.margin()[YGEdgeTop] || -- adjustedStyle.margin()[YGEdgeLeft] != currentStyle.margin()[YGEdgeLeft] || -- adjustedStyle.margin()[YGEdgeRight] != -- currentStyle.margin()[YGEdgeRight] || -- adjustedStyle.margin()[YGEdgeBottom] != -- currentStyle.margin()[YGEdgeBottom]) { -+ if (adjustedStyle.padding(yoga::Edge::Top) != currentStyle.padding(yoga::Edge::Top) || -+ adjustedStyle.padding(yoga::Edge::Left) != currentStyle.padding(yoga::Edge::Left) || -+ adjustedStyle.padding(yoga::Edge::Right) != currentStyle.padding(yoga::Edge::Right) || -+ adjustedStyle.padding(yoga::Edge::Bottom) != currentStyle.padding(yoga::Edge::Bottom) || -+ adjustedStyle.margin(yoga::Edge::Top) != currentStyle.margin(yoga::Edge::Top) || -+ adjustedStyle.margin(yoga::Edge::Left) != currentStyle.margin(yoga::Edge::Left) || -+ adjustedStyle.margin(yoga::Edge::Right) != currentStyle.margin(yoga::Edge::Right) || -+ adjustedStyle.margin(yoga::Edge::Bottom) != currentStyle.margin(yoga::Edge::Bottom)) { - yogaNode_.setStyle(adjustedStyle); - yogaNode_.setDirty(true); - } ---- a/node_modules/react-native-safe-area-context/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaContextModule.kt -+++ b/node_modules/react-native-safe-area-context/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaContextModule.kt -@@ -13,8 +13,8 @@ class SafeAreaContextModule(reactContext: ReactApplicationContext?) : - return NAME - } - -- public override fun getTypedExportedConstants(): Map { -- return MapBuilder.of("initialWindowMetrics", getInitialWindowMetrics()) -+ public override fun getTypedExportedConstants(): Map { -+ return mapOf("initialWindowMetrics" to getInitialWindowMetrics()) - } - - private fun getInitialWindowMetrics(): Map? { diff --git a/tools/src/react-native-nightlies/patches/react-native-screens.patch b/tools/src/react-native-nightlies/patches/react-native-screens.patch deleted file mode 100644 index 4b1af409be2543..00000000000000 --- a/tools/src/react-native-nightlies/patches/react-native-screens.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt -index 5f77aa1..e06bd42 100644 ---- a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt -+++ b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt -@@ -40,7 +40,7 @@ class ScreenViewManager : ViewGroupManager(), RNSScreenManagerInterface< - override fun updateState( - view: Screen, - props: ReactStylesDiffMap?, -- stateWrapper: StateWrapper? -+ stateWrapper: StateWrapper - ): Any? { - if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { - // fabricViewStateManager should never be null in Fabric. The null check is only for Paper's empty impl. From 551ea129ee5fa84c42d33dbe017f43edbfd7a80e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Kosmaty?= Date: Mon, 15 Jun 2026 15:40:40 +0200 Subject: [PATCH 09/14] [expo] Improve `ccache` config (#46111) Co-authored-by: Wiktor Smaga --- .github/actions/expo-caches/action.yml | 13 +++++++++++-- .github/actions/setup-ccache/action.yml | 11 +++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.github/actions/expo-caches/action.yml b/.github/actions/expo-caches/action.yml index 6034c9e37a17e1..c0addd4291e304 100644 --- a/.github/actions/expo-caches/action.yml +++ b/.github/actions/expo-caches/action.yml @@ -168,8 +168,17 @@ runs: uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: ${{ runner.temp }}/.ccache - key: ${{ runner.os }}-ccache-${{ hashFiles('pnpm-lock.yaml', 'packages/**/*.c', 'packages/**/*.cpp', 'packages/**/*.h', 'packages/**/build.gradle', 'packages/**/build.gradle.kts', 'packages/**/settings.gradle', 'packages/**/settings.gradle.kts', 'apps/bare-expo/**/build.gradle', 'apps/bare-expo/**/settings.gradle') }} - restore-keys: ${{ runner.os }}-ccache- + # The key is divided into two parts: + # + # PART 1 - used in key and restore-keys + # pnpm-lock.yaml keeps track of the react native version, which tracks the NDK version, if it changes, we need to invalidate the cache. + # + # PART 2 - used only in the exact key + # ccache tracks these files without any sloppiness issues. + # - C/C++ source files + # - Gradle files: see https://github.com/expo/expo/pull/44884 + key: ${{ runner.os }}-ccache-${{hashFiles('pnpm-lock.yaml')}}-${{ hashFiles('packages/**/*.c', 'packages/**/*.cpp', 'packages/**/*.h', 'packages/**/build.gradle', 'packages/**/build.gradle.kts', 'packages/**/settings.gradle', 'packages/**/settings.gradle.kts', 'apps/bare-expo/**/build.gradle', 'apps/bare-expo/**/settings.gradle', 'apps/bare-expo/android/app/src/main/jni/pch.h') }} + restore-keys: ${{ runner.os }}-ccache-${{hashFiles('pnpm-lock.yaml')}} - name: 🔍️ Get cache key of Git LFS files if: inputs.git-lfs == 'true' diff --git a/.github/actions/setup-ccache/action.yml b/.github/actions/setup-ccache/action.yml index bcabca1b6d1ed8..47a8c69e820ffd 100644 --- a/.github/actions/setup-ccache/action.yml +++ b/.github/actions/setup-ccache/action.yml @@ -37,7 +37,10 @@ runs: # time_macros might help if in included modules there are macros like __TIME__ which would trigger a cache miss. # system_headers: avoids hashing thousands of Apple SDK headers. # modules, clang_index_store, ivfsoverlay: without these, hit rate on iOS would be 0%. - echo "CCACHE_SLOPPINESS=include_file_mtime,include_file_ctime,time_macros,modules,clang_index_store,system_headers,ivfsoverlay" >> $GITHUB_ENV + echo "CCACHE_SLOPPINESS=include_file_mtime,include_file_ctime,time_macros,modules,clang_index_store,system_headers,ivfsoverlay,pch_defines" >> $GITHUB_ENV + + # Calculate hash based on a relative path - this prevents cache misses when an absolute path changes. + echo "CCACHE_BASEDIR=${{ github.workspace }}" >> $GITHUB_ENV # Speeds up the process on cache misses by skipping the preprocessing step. echo "CCACHE_DEPEND=true" >> $GITHUB_ENV @@ -71,7 +74,11 @@ runs: # Sloppiness options disable some of the ccache checks to increase hit rate. # In our case we exclude ctime and mtime so cache is hit based on file content. # time_macros might help if in included modules there are macros like __TIME__ which would trigger a cache miss. - echo "CCACHE_SLOPPINESS=include_file_ctime,include_file_mtime,time_macros" >> $GITHUB_ENV + # system_headers: avoids hashing NDK sysroot headers that don't change between builds. + echo "CCACHE_SLOPPINESS=include_file_ctime,include_file_mtime,time_macros,system_headers,pch_defines" >> $GITHUB_ENV + + # Speeds up the process on cache misses by skipping the preprocessing step. + echo "CCACHE_DEPEND=true" >> $GITHUB_ENV # Replaces compiler with ccache. echo "CMAKE_C_COMPILER_LAUNCHER=$(which ccache)" >> $GITHUB_ENV From 34c7e9299b95286256e49c67e3b996e3ddddfb5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Kosmaty?= Date: Mon, 15 Jun 2026 15:47:21 +0200 Subject: [PATCH 10/14] [ui][Android] Mark `InnerTextFieldProps` and `PlaceholderProps` as optimized (#46919) --- .../src/main/java/expo/modules/ui/textfield/BasicTextField.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/expo-ui/android/src/main/java/expo/modules/ui/textfield/BasicTextField.kt b/packages/expo-ui/android/src/main/java/expo/modules/ui/textfield/BasicTextField.kt index 299758bf57efc6..6686405eedeed4 100644 --- a/packages/expo-ui/android/src/main/java/expo/modules/ui/textfield/BasicTextField.kt +++ b/packages/expo-ui/android/src/main/java/expo/modules/ui/textfield/BasicTextField.kt @@ -38,6 +38,7 @@ import expo.modules.ui.state.WorkletCallback */ val LocalInnerTextField = compositionLocalOf<(@Composable () -> Unit)?> { null } +@OptimizedComposeProps class InnerTextFieldProps : ComposeProps /** @@ -63,6 +64,7 @@ class InnerTextFieldView(context: Context, appContext: AppContext) : */ val LocalTextFieldIsEmpty = compositionLocalOf { true } +@OptimizedComposeProps class PlaceholderProps : ComposeProps /** From 822dbef8cd5d2fbd93a1ab5890963183beb98b99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Kosmaty?= Date: Mon, 15 Jun 2026 16:11:46 +0200 Subject: [PATCH 11/14] [expo][Android] Use `proguard-android-optimize.txt` (#46852) --- apps/bare-expo/android/app/build.gradle | 2 +- apps/minimal-tester/android/app/build.gradle | 2 +- .../prebuild/__tests__/fixtures/react-native-project.ts | 2 +- ...ld-with-incorrect-create-manifest-android-path.gradle | 2 +- .../build-without-create-manifest-android.gradle | 2 +- .../src/__tests__/android-pch-test.ts | 2 +- packages/expo-modules-core/CHANGELOG.md | 2 ++ packages/expo-modules-core/android/proguard-rules.pro | 5 +++++ .../expo/modules/kotlin/records/RecordTypeConverter.kt | 9 +++++---- .../templates/detox/android/app/build.gradle | 2 +- .../cli/__tests__/fixtures/appBuild-rn072-updated.gradle | 2 +- .../plugins/cli/__tests__/fixtures/appBuild-rn072.gradle | 2 +- .../expo-template-bare-minimum/android/app/build.gradle | 2 +- 13 files changed, 22 insertions(+), 14 deletions(-) diff --git a/apps/bare-expo/android/app/build.gradle b/apps/bare-expo/android/app/build.gradle index 955bc38ef55c79..03e2425daa0511 100644 --- a/apps/bare-expo/android/app/build.gradle +++ b/apps/bare-expo/android/app/build.gradle @@ -123,7 +123,7 @@ android { def enableShrinkResources = findProperty('android.enableShrinkResourcesInReleaseBuilds') ?: 'false' shrinkResources enableShrinkResources.toBoolean() minifyEnabled enableMinifyInReleaseBuilds - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" } benchmark { initWith buildTypes.release diff --git a/apps/minimal-tester/android/app/build.gradle b/apps/minimal-tester/android/app/build.gradle index fd257e1bc3799f..e7645014a8b09a 100644 --- a/apps/minimal-tester/android/app/build.gradle +++ b/apps/minimal-tester/android/app/build.gradle @@ -116,7 +116,7 @@ android { def enableShrinkResources = findProperty('android.enableShrinkResourcesInReleaseBuilds') ?: 'false' shrinkResources enableShrinkResources.toBoolean() minifyEnabled enableMinifyInReleaseBuilds - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" def enablePngCrunchInRelease = findProperty('android.enablePngCrunchInReleaseBuilds') ?: 'true' crunchPngs enablePngCrunchInRelease.toBoolean() } diff --git a/packages/@expo/cli/src/prebuild/__tests__/fixtures/react-native-project.ts b/packages/@expo/cli/src/prebuild/__tests__/fixtures/react-native-project.ts index 4ce60359e26a69..ab2ba44a549afa 100644 --- a/packages/@expo/cli/src/prebuild/__tests__/fixtures/react-native-project.ts +++ b/packages/@expo/cli/src/prebuild/__tests__/fixtures/react-native-project.ts @@ -1149,7 +1149,7 @@ export default { release { signingConfig signingConfigs.debug minifyEnabled enableMinifyInReleaseBuilds - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" } } applicationVariants.all { variant -> diff --git a/packages/@expo/config-plugins/src/android/__tests__/fixtures/build-with-incorrect-create-manifest-android-path.gradle b/packages/@expo/config-plugins/src/android/__tests__/fixtures/build-with-incorrect-create-manifest-android-path.gradle index 238e4dcf22d39b..8d7a65281e9701 100644 --- a/packages/@expo/config-plugins/src/android/__tests__/fixtures/build-with-incorrect-create-manifest-android-path.gradle +++ b/packages/@expo/config-plugins/src/android/__tests__/fixtures/build-with-incorrect-create-manifest-android-path.gradle @@ -162,7 +162,7 @@ android { // see https://reactnative.dev/docs/signed-apk-android. signingConfig signingConfigs.debug minifyEnabled enableMinifyInReleaseBuilds - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" } } diff --git a/packages/@expo/config-plugins/src/android/__tests__/fixtures/build-without-create-manifest-android.gradle b/packages/@expo/config-plugins/src/android/__tests__/fixtures/build-without-create-manifest-android.gradle index ffdb15fa795c4a..1273b940209c0b 100644 --- a/packages/@expo/config-plugins/src/android/__tests__/fixtures/build-without-create-manifest-android.gradle +++ b/packages/@expo/config-plugins/src/android/__tests__/fixtures/build-without-create-manifest-android.gradle @@ -161,7 +161,7 @@ android { // see https://reactnative.dev/docs/signed-apk-android. signingConfig signingConfigs.debug minifyEnabled enableMinifyInReleaseBuilds - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" } } diff --git a/packages/expo-build-properties/src/__tests__/android-pch-test.ts b/packages/expo-build-properties/src/__tests__/android-pch-test.ts index bcab7e3cc2899d..1ffa453b8bdeb1 100644 --- a/packages/expo-build-properties/src/__tests__/android-pch-test.ts +++ b/packages/expo-build-properties/src/__tests__/android-pch-test.ts @@ -43,7 +43,7 @@ android { release { signingConfig signingConfigs.debug minifyEnabled false - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" } } androidResources { diff --git a/packages/expo-modules-core/CHANGELOG.md b/packages/expo-modules-core/CHANGELOG.md index 5a7396f00521f2..c6222f0492d625 100644 --- a/packages/expo-modules-core/CHANGELOG.md +++ b/packages/expo-modules-core/CHANGELOG.md @@ -12,6 +12,8 @@ ### 🐛 Bug fixes +- [Android] Fix `Record` arguments crashing with a `NullPointerException` in R8-optimized release builds when converted through the reflection fallback path. ([#46852](https://github.com/expo/expo/pull/46852) by [@lukmccall](https://github.com/lukmccall)) +- [Android] Keep the `Record` marker interface so its consumer ProGuard rule keeps matching after R8 optimization removes empty marker interfaces. ([#46852](https://github.com/expo/expo/pull/46852) by [@lukmccall](https://github.com/lukmccall)) - [android] Add a synchronous shadow node size update path, fixing a layout shift for `Host` `matchContents` views. ([#46604](https://github.com/expo/expo/pull/46604) by [@nishan](https://github.com/intergalacticspacehighway)) - [Android] Fix `NullPointerException` crash when a `matchContents` view is unmounted while a shadow node size update is pending (e.g. closing a bottom sheet mid-resize). ([#46785](https://github.com/expo/expo/pull/46785) by [@nishan](https://github.com/intergalacticspacehighway)) - [iOS] Accept JS `Double` timestamps in `Date` Convertible. JS numbers arrive across the JSI bridge as Swift `Double`; the prior `as? Int` branch never matched, throwing `ConvertingException` whenever a JS caller passed `someDate.getTime()` to a `Date` / `Date?` argument. ([#46340](https://github.com/expo/expo/pull/46340) by [@kyleasaff](https://github.com/kyleasaff)) diff --git a/packages/expo-modules-core/android/proguard-rules.pro b/packages/expo-modules-core/android/proguard-rules.pro index 1cf6c25038c715..f3f10c08920174 100644 --- a/packages/expo-modules-core/android/proguard-rules.pro +++ b/packages/expo-modules-core/android/proguard-rules.pro @@ -3,13 +3,18 @@ @expo.modules.core.interfaces.DoNotStrip *; } +-keep interface expo.modules.kotlin.records.Record + -keep class * implements expo.modules.kotlin.records.Record { *; } + -keep class * extends expo.modules.kotlin.sharedobjects.SharedObject + -keep enum * implements expo.modules.kotlin.types.Enumerable { *; } + -keepnames class kotlin.Pair -keep,allowoptimization,allowobfuscation class * extends expo.modules.kotlin.modules.Module { diff --git a/packages/expo-modules-core/android/src/main/java/expo/modules/kotlin/records/RecordTypeConverter.kt b/packages/expo-modules-core/android/src/main/java/expo/modules/kotlin/records/RecordTypeConverter.kt index d4856f7b0f5d24..c177d685edd60b 100644 --- a/packages/expo-modules-core/android/src/main/java/expo/modules/kotlin/records/RecordTypeConverter.kt +++ b/packages/expo-modules-core/android/src/main/java/expo/modules/kotlin/records/RecordTypeConverter.kt @@ -52,7 +52,7 @@ class ReflectionRecordConversionStrategy( ) { private data class PropertyDescriptor( val typeConverter: TypeConverter<*>, - val fieldAnnotation: Field, + val key: String, val isRequired: Boolean ) @@ -66,10 +66,11 @@ class ReflectionRecordConversionStrategy( val typeConverter = converterProvider.obtainTypeConverter( property.returnType.toTypeDescriptor() ) + val key = fieldAnnotation.key.takeUnless { it.isBlank() } ?: property.name return@mapNotNull property to PropertyDescriptor( typeConverter, - fieldAnnotation, + key, isRequired = property.findAnnotation() != null ) } @@ -82,7 +83,7 @@ class ReflectionRecordConversionStrategy( propertyDescriptors .forEach { (property, descriptor) -> - val jsKey = descriptor.fieldAnnotation.key.takeUnless { it.isBlank() } ?: property.name + val jsKey = descriptor.key if (!jsMap.hasKey(jsKey)) { if (descriptor.isRequired) { @@ -114,7 +115,7 @@ class ReflectionRecordConversionStrategy( propertyDescriptors .forEach { (property, descriptor) -> - val key = descriptor.fieldAnnotation.key.takeUnless { it.isBlank() } ?: property.name + val key = descriptor.key if (!map.containsKey(key)) { if (descriptor.isRequired) { diff --git a/packages/expo-test-runner/templates/detox/android/app/build.gradle b/packages/expo-test-runner/templates/detox/android/app/build.gradle index 2fe52ada7506a6..6efb1f03d58588 100644 --- a/packages/expo-test-runner/templates/detox/android/app/build.gradle +++ b/packages/expo-test-runner/templates/detox/android/app/build.gradle @@ -250,7 +250,7 @@ android { // see https://reactnative.dev/docs/signed-apk-android. signingConfig signingConfigs.debug minifyEnabled enableMinifyInReleaseBuilds - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" } } diff --git a/packages/install-expo-modules/src/plugins/cli/__tests__/fixtures/appBuild-rn072-updated.gradle b/packages/install-expo-modules/src/plugins/cli/__tests__/fixtures/appBuild-rn072-updated.gradle index 45704d437d5508..57074f1fb228f6 100644 --- a/packages/install-expo-modules/src/plugins/cli/__tests__/fixtures/appBuild-rn072-updated.gradle +++ b/packages/install-expo-modules/src/plugins/cli/__tests__/fixtures/appBuild-rn072-updated.gradle @@ -104,7 +104,7 @@ android { // see https://reactnative.dev/docs/signed-apk-android. signingConfig signingConfigs.debug minifyEnabled enableProguardInReleaseBuilds - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" } } } diff --git a/packages/install-expo-modules/src/plugins/cli/__tests__/fixtures/appBuild-rn072.gradle b/packages/install-expo-modules/src/plugins/cli/__tests__/fixtures/appBuild-rn072.gradle index 00e28c6f06595a..d01d1ac245fc00 100644 --- a/packages/install-expo-modules/src/plugins/cli/__tests__/fixtures/appBuild-rn072.gradle +++ b/packages/install-expo-modules/src/plugins/cli/__tests__/fixtures/appBuild-rn072.gradle @@ -99,7 +99,7 @@ android { // see https://reactnative.dev/docs/signed-apk-android. signingConfig signingConfigs.debug minifyEnabled enableProguardInReleaseBuilds - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" } } } diff --git a/templates/expo-template-bare-minimum/android/app/build.gradle b/templates/expo-template-bare-minimum/android/app/build.gradle index fc185e53bc3ec8..66d64fd22ed13e 100644 --- a/templates/expo-template-bare-minimum/android/app/build.gradle +++ b/templates/expo-template-bare-minimum/android/app/build.gradle @@ -116,7 +116,7 @@ android { def enableShrinkResources = findProperty('android.enableShrinkResourcesInReleaseBuilds') ?: 'false' shrinkResources enableShrinkResources.toBoolean() minifyEnabled enableMinifyInReleaseBuilds - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" def enablePngCrunchInRelease = findProperty('android.enablePngCrunchInReleaseBuilds') ?: 'true' crunchPngs enablePngCrunchInRelease.toBoolean() } From 41ebeede8412820eddebb17211e29860471844bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Kosmaty?= Date: Mon, 15 Jun 2026 16:12:07 +0200 Subject: [PATCH 12/14] [app-metrics][Android] Add `OptimizedRecord` to `NetworkRequestFilter` (#46921) --- .../modules/appmetrics/networkrequests/NetworkRequestFilter.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/expo-app-metrics/android/src/main/java/expo/modules/appmetrics/networkrequests/NetworkRequestFilter.kt b/packages/expo-app-metrics/android/src/main/java/expo/modules/appmetrics/networkrequests/NetworkRequestFilter.kt index b43b694458dea7..4bba975f54e364 100644 --- a/packages/expo-app-metrics/android/src/main/java/expo/modules/appmetrics/networkrequests/NetworkRequestFilter.kt +++ b/packages/expo-app-metrics/android/src/main/java/expo/modules/appmetrics/networkrequests/NetworkRequestFilter.kt @@ -4,6 +4,7 @@ package expo.modules.appmetrics.networkrequests import expo.modules.kotlin.records.Field import expo.modules.kotlin.records.Record +import expo.modules.kotlin.types.OptimizedRecord import okhttp3.HttpUrl.Companion.toHttpUrlOrNull /** @@ -20,6 +21,7 @@ import okhttp3.HttpUrl.Companion.toHttpUrlOrNull * nothing through it (an empty allow-list matches no value), so any empty field drops every * request. A filter with no fields set matches every request, matching the no-filter default. */ +@OptimizedRecord data class NetworkRequestFilter( /** * Exact host matches, compared case-insensitively against the request URL's host. From 0f584e251506fcd9a47472f56a95434d430e8f98 Mon Sep 17 00:00:00 2001 From: Alan Hughes <30924086+alanjhughes@users.noreply.github.com> Date: Mon, 15 Jun 2026 15:28:18 +0100 Subject: [PATCH 13/14] [ios][expo-go] Migrate to scenes (#46911) --- apps/bare-expo/ios/Podfile.lock | 2 +- apps/expo-go/ios/Client/AppDelegate.swift | 40 --------- .../ios/Client/ExpoGoSceneDelegate.swift | 82 +++++++++++++++++++ .../ios/Exponent/Supporting/Info.plist | 17 ++++ apps/expo-go/ios/Podfile | 11 +++ apps/expo-go/ios/Podfile.lock | 4 +- pnpm-lock.yaml | 35 -------- 7 files changed, 113 insertions(+), 78 deletions(-) create mode 100644 apps/expo-go/ios/Client/ExpoGoSceneDelegate.swift diff --git a/apps/bare-expo/ios/Podfile.lock b/apps/bare-expo/ios/Podfile.lock index 36b09d4e3279f2..f0d55aa6cba6f2 100644 --- a/apps/bare-expo/ios/Podfile.lock +++ b/apps/bare-expo/ios/Podfile.lock @@ -4098,7 +4098,7 @@ SPEC CHECKSUMS: EXUpdates: c6488f0bebe92d6decb5f9b685d33ee91feeccf0 EXUpdatesInterface: 25408a97d682355eb9fb37e5aa6e22caece1881f FBLazyVector: 5466888598cde67aedb4d3a819adf471d1a3d8c9 - hermes-engine: e355eb94d3f8b7f4c08531a4d42af958d36c13de + hermes-engine: 4c998771d5218e20701b63d8358199a520a54447 libavif: 5f8e715bea24debec477006f21ef9e95432e254d libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8 diff --git a/apps/expo-go/ios/Client/AppDelegate.swift b/apps/expo-go/ios/Client/AppDelegate.swift index cda342bfb16670..fae74f2c221b80 100644 --- a/apps/expo-go/ios/Client/AppDelegate.swift +++ b/apps/expo-go/ios/Client/AppDelegate.swift @@ -7,7 +7,6 @@ import ReactAppDependencyProvider @main class AppDelegate: ExpoAppDelegate { - var rootViewController: EXRootViewController? var window: UIWindow? var reactNativeDelegate: ExpoReactNativeFactoryDelegate? @@ -23,47 +22,8 @@ class AppDelegate: ExpoAppDelegate { FirebaseApp.configure() - if application.applicationState != UIApplication.State.background { - // App launched in foreground - setUpUserInterfaceForApplication(application, withLaunchOptions: launchOptions) - } - return super.application(application, didFinishLaunchingWithOptions: launchOptions) } - - override func applicationWillEnterForeground(_ application: UIApplication) { - setUpUserInterfaceForApplication(application, withLaunchOptions: nil) - super.applicationWillEnterForeground(application) - } - - private func setUpUserInterfaceForApplication(_ application: UIApplication, withLaunchOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) { - if self.window != nil { - return - } - ExpoKit.sharedInstance().registerRootViewControllerClass(EXRootViewController.self) - ExpoKit.sharedInstance().prepare() - - let window = UIWindow(frame: UIScreen.main.bounds) - self.window = window - window.backgroundColor = UIColor.white - rootViewController = (ExpoKit.sharedInstance().rootViewController() as! EXRootViewController) - window.rootViewController = rootViewController - if let initialURL = EXKernelLinkingManager.initialUrl(fromLaunchOptions: launchOptions) { - // When the app is cold-launched via a URL scheme (e.g. exp://), iOS delivers the URL - // in two ways: (1) here in launchOptions, and (2) by calling application:openURL:options: - // after this method returns. If we handle it in both places, two RCTHost instances are - // created concurrently, which crashes on first install due to a Swift runtime metadata - // race condition. So we skip URL scheme deep links here and let openURL be the sole handler. - // Non-URL-scheme sources (process args via --initialUrl, universal links) don't have a - // separate callback, so we still handle those here. - let isURLSchemeDeepLink = (launchOptions?[.url] as? URL) == initialURL - if !isURLSchemeDeepLink { - rootViewController?.setInitialHomeURL(initialURL) - } - } - - window.makeKeyAndVisible() - } } class ReactNativeDelegate: ExpoReactNativeFactoryDelegate { diff --git a/apps/expo-go/ios/Client/ExpoGoSceneDelegate.swift b/apps/expo-go/ios/Client/ExpoGoSceneDelegate.swift new file mode 100644 index 00000000000000..ecc8eb669efab9 --- /dev/null +++ b/apps/expo-go/ios/Client/ExpoGoSceneDelegate.swift @@ -0,0 +1,82 @@ +// Copyright 2015-present 650 Industries. All rights reserved. + +import UIKit +import ExpoModulesCore + +@objc(ExpoGoSceneDelegate) +class ExpoGoSceneDelegate: UIResponder, UIWindowSceneDelegate { + var window: UIWindow? + + func scene( + _ scene: UIScene, + willConnectTo session: UISceneSession, + options connectionOptions: UIScene.ConnectionOptions + ) { + guard let windowScene = scene as? UIWindowScene else { + return + } + + ExpoKit.sharedInstance().registerRootViewControllerClass(EXRootViewController.self) + ExpoKit.sharedInstance().prepare() + + let window = UIWindow(windowScene: windowScene) + window.backgroundColor = .white + let rootViewController = ExpoKit.sharedInstance().rootViewController() as! EXRootViewController + window.rootViewController = rootViewController + self.window = window + + (UIApplication.shared.delegate as? AppDelegate)?.window = window + + if let initialURL = EXKernelLinkingManager.initialUrl(fromLaunchOptions: nil) { + rootViewController.setInitialHomeURL(initialURL) + } + + window.makeKeyAndVisible() + + handle(urlContexts: connectionOptions.urlContexts) + connectionOptions.userActivities.forEach { handle(userActivity: $0) } + } + + func sceneDidDisconnect(_ scene: UIScene) { + window = nil + } + + func sceneDidBecomeActive(_ scene: UIScene) { + ExpoAppDelegateSubscriberManager.applicationDidBecomeActive(UIApplication.shared) + } + + func sceneWillResignActive(_ scene: UIScene) { + ExpoAppDelegateSubscriberManager.applicationWillResignActive(UIApplication.shared) + } + + func sceneWillEnterForeground(_ scene: UIScene) { + ExpoAppDelegateSubscriberManager.applicationWillEnterForeground(UIApplication.shared) + } + + func sceneDidEnterBackground(_ scene: UIScene) { + ExpoAppDelegateSubscriberManager.applicationDidEnterBackground(UIApplication.shared) + } + + func scene(_ scene: UIScene, openURLContexts URLContexts: Set) { + handle(urlContexts: URLContexts) + } + + func scene(_ scene: UIScene, continue userActivity: NSUserActivity) { + handle(userActivity: userActivity) + } + + private func handle(urlContexts: Set) { + let linkingManager = EXKernel.sharedInstance().serviceRegistry.linkingManager + for context in urlContexts { + _ = linkingManager?.application(UIApplication.shared, open: context.url, options: [:]) + } + } + + private func handle(userActivity: NSUserActivity) { + _ = EXKernelLinkingManager.application( + UIApplication.shared, + continue: userActivity, + restorationHandler: { _ in } + ) + } +} diff --git a/apps/expo-go/ios/Exponent/Supporting/Info.plist b/apps/expo-go/ios/Exponent/Supporting/Info.plist index 5227e3c3c91781..b30460ef371fcd 100644 --- a/apps/expo-go/ios/Exponent/Supporting/Info.plist +++ b/apps/expo-go/ios/Exponent/Supporting/Info.plist @@ -6,6 +6,23 @@ com.expo.modules.backgroundtask.processing + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).ExpoGoSceneDelegate + + + + CADisableMinimumFrameDurationOnPhone CFBundleDevelopmentRegion diff --git a/apps/expo-go/ios/Podfile b/apps/expo-go/ios/Podfile index 059559c27bf575..126bcc2cff1596 100644 --- a/apps/expo-go/ios/Podfile +++ b/apps/expo-go/ios/Podfile @@ -160,6 +160,17 @@ target 'Expo Go' do config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'RCT_DEV_SETTINGS_ENABLE_PACKAGER_CONNECTION=0' end end + + if installer.pods_project + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + current = config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] + if current.to_s =~ /\A\d/ && Gem::Version.new(current) < Gem::Version.new('16.4') + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.4' + end + end + end + end end target 'Tests' do diff --git a/apps/expo-go/ios/Podfile.lock b/apps/expo-go/ios/Podfile.lock index 9da28e14b828b9..db889abb3e239a 100644 --- a/apps/expo-go/ios/Podfile.lock +++ b/apps/expo-go/ios/Podfile.lock @@ -4782,7 +4782,7 @@ SPEC CHECKSUMS: GoogleAppMeasurement: 8a82b93a6400c8e6551c0bcd66a9177f2e067aed GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1 - hermes-engine: d5c6d584ad5c5461ad9e34e0afb5d40d56e428f5 + hermes-engine: 42f0ed2cf70592b35e2ca49a6b725d31c8ad4136 libavif: 5f8e715bea24debec477006f21ef9e95432e254d libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8 @@ -4905,6 +4905,6 @@ SPEC CHECKSUMS: Yoga: f4b28f1978b0b41f73818f68941e8ef9d27ee857 ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5 -PODFILE CHECKSUM: 330a7a37788c690eb6d1485a7c5003375ee538b2 +PODFILE CHECKSUM: 58b0c3a5c62ae53bc42e1b1f1c0e85f6dc8a7f65 COCOAPODS: 1.16.2 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1c40a2b15e8d4e..978c16b9a421e6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7970,85 +7970,72 @@ packages: resolution: {integrity: sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==} cpu: [arm64] os: [linux] - libc: [glibc] '@img/sharp-libvips-linux-arm@1.1.0': resolution: {integrity: sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==} cpu: [arm] os: [linux] - libc: [glibc] '@img/sharp-libvips-linux-ppc64@1.1.0': resolution: {integrity: sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==} cpu: [ppc64] os: [linux] - libc: [glibc] '@img/sharp-libvips-linux-s390x@1.1.0': resolution: {integrity: sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==} cpu: [s390x] os: [linux] - libc: [glibc] '@img/sharp-libvips-linux-x64@1.1.0': resolution: {integrity: sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==} cpu: [x64] os: [linux] - libc: [glibc] '@img/sharp-libvips-linuxmusl-arm64@1.1.0': resolution: {integrity: sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==} cpu: [arm64] os: [linux] - libc: [musl] '@img/sharp-libvips-linuxmusl-x64@1.1.0': resolution: {integrity: sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==} cpu: [x64] os: [linux] - libc: [musl] '@img/sharp-linux-arm64@0.34.2': resolution: {integrity: sha512-D8n8wgWmPDakc83LORcfJepdOSN6MvWNzzz2ux0MnIbOqdieRZwVYY32zxVx+IFUT8er5KPcyU3XXsn+GzG/0Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] - libc: [glibc] '@img/sharp-linux-arm@0.34.2': resolution: {integrity: sha512-0DZzkvuEOqQUP9mo2kjjKNok5AmnOr1jB2XYjkaoNRwpAYMDzRmAqUIa1nRi58S2WswqSfPOWLNOr0FDT3H5RQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm] os: [linux] - libc: [glibc] '@img/sharp-linux-s390x@0.34.2': resolution: {integrity: sha512-EGZ1xwhBI7dNISwxjChqBGELCWMGDvmxZXKjQRuqMrakhO8QoMgqCrdjnAqJq/CScxfRn+Bb7suXBElKQpPDiw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] - libc: [glibc] '@img/sharp-linux-x64@0.34.2': resolution: {integrity: sha512-sD7J+h5nFLMMmOXYH4DD9UtSNBD05tWSSdWAcEyzqW8Cn5UxXvsHAxmxSesYUsTOBmUnjtxghKDl15EvfqLFbQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] - libc: [glibc] '@img/sharp-linuxmusl-arm64@0.34.2': resolution: {integrity: sha512-NEE2vQ6wcxYav1/A22OOxoSOGiKnNmDzCYFOZ949xFmrWZOVII1Bp3NqVVpvj+3UeHMFyN5eP/V5hzViQ5CZNA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] - libc: [musl] '@img/sharp-linuxmusl-x64@0.34.2': resolution: {integrity: sha512-DOYMrDm5E6/8bm/yQLCWyuDJwUnlevR8xtF8bs+gjZ7cyUNYXiSf/E8Kp0Ss5xasIaXSHzb888V1BE4i1hFhAA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] - libc: [musl] '@img/sharp-wasm32@0.34.2': resolution: {integrity: sha512-/VI4mdlJ9zkaq53MbIG6rZY+QRN3MLbR6usYlgITEzi4Rpx5S6LFKsycOQjkOGmqTNmkIdLjEvooFKwww6OpdQ==} @@ -8394,42 +8381,36 @@ packages: engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - libc: [glibc] '@parcel/watcher-linux-arm-musl@2.5.6': resolution: {integrity: sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - libc: [musl] '@parcel/watcher-linux-arm64-glibc@2.5.6': resolution: {integrity: sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - libc: [glibc] '@parcel/watcher-linux-arm64-musl@2.5.6': resolution: {integrity: sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - libc: [musl] '@parcel/watcher-linux-x64-glibc@2.5.6': resolution: {integrity: sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - libc: [glibc] '@parcel/watcher-linux-x64-musl@2.5.6': resolution: {integrity: sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - libc: [musl] '@parcel/watcher-win32-arm64@2.5.6': resolution: {integrity: sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==} @@ -9044,28 +9025,24 @@ packages: engines: {node: '>=10'} cpu: [arm64] os: [linux] - libc: [glibc] '@swc/core-linux-arm64-musl@1.15.18': resolution: {integrity: sha512-0a+Lix+FSSHBSBOA0XznCcHo5/1nA6oLLjcnocvzXeqtdjnPb+SvchItHI+lfeiuj1sClYPDvPMLSLyXFaiIKw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - libc: [musl] '@swc/core-linux-x64-gnu@1.15.18': resolution: {integrity: sha512-wG9J8vReUlpaHz4KOD/5UE1AUgirimU4UFT9oZmupUDEofxJKYb1mTA/DrMj0s78bkBiNI+7Fo2EgPuvOJfuAA==} engines: {node: '>=10'} cpu: [x64] os: [linux] - libc: [glibc] '@swc/core-linux-x64-musl@1.15.18': resolution: {integrity: sha512-4nwbVvCphKzicwNWRmvD5iBaZj8JYsRGa4xOxJmOyHlMDpsvvJ2OR2cODlvWyGFH6BYL1MfIAK3qph3hp0Az6g==} engines: {node: '>=10'} cpu: [x64] os: [linux] - libc: [musl] '@swc/core-win32-arm64-msvc@1.15.18': resolution: {integrity: sha512-zk0RYO+LjiBCat2RTMHzAWaMky0cra9loH4oRrLKLLNuL+jarxKLFDA8xTZWEkCPLjUTwlRN7d28eDLLMgtUcQ==} @@ -9686,49 +9663,41 @@ packages: resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==} cpu: [arm64] os: [linux] - libc: [glibc] '@unrs/resolver-binding-linux-arm64-musl@1.11.1': resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==} cpu: [arm64] os: [linux] - libc: [musl] '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==} cpu: [ppc64] os: [linux] - libc: [glibc] '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==} cpu: [riscv64] os: [linux] - libc: [glibc] '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==} cpu: [riscv64] os: [linux] - libc: [musl] '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==} cpu: [s390x] os: [linux] - libc: [glibc] '@unrs/resolver-binding-linux-x64-gnu@1.11.1': resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==} cpu: [x64] os: [linux] - libc: [glibc] '@unrs/resolver-binding-linux-x64-musl@1.11.1': resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==} cpu: [x64] os: [linux] - libc: [musl] '@unrs/resolver-binding-wasm32-wasi@1.11.1': resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==} @@ -12890,28 +12859,24 @@ packages: engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - libc: [glibc] lightningcss-linux-arm64-musl@1.32.0: resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - libc: [musl] lightningcss-linux-x64-gnu@1.32.0: resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - libc: [glibc] lightningcss-linux-x64-musl@1.32.0: resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - libc: [musl] lightningcss-win32-arm64-msvc@1.32.0: resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} From 6514e9ebb34c964c2957ba23db0c18d944988662 Mon Sep 17 00:00:00 2001 From: Tomasz Sapeta Date: Mon, 15 Jun 2026 16:50:37 +0200 Subject: [PATCH 14/14] [ios][core] Add public `ArgumentsRangeMismatch` exception (#46901) --- packages/expo-modules-core/CHANGELOG.md | 1 + .../ios/Core/Exceptions/CommonExceptions.swift | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/packages/expo-modules-core/CHANGELOG.md b/packages/expo-modules-core/CHANGELOG.md index c6222f0492d625..098cbcd1eafb7d 100644 --- a/packages/expo-modules-core/CHANGELOG.md +++ b/packages/expo-modules-core/CHANGELOG.md @@ -31,6 +31,7 @@ - [Android] Make `expo-module-gradle-plugin` compatible with Android Gradle Plugin 9. ([#46769](https://github.com/expo/expo/pull/46769) by [@lukmccall](https://github.com/lukmccall)) - [iOS] `@ExpoModule` now synthesizes a `_decorateModule` that binds the module's `@JS` functions directly onto the JS object, letting the module holder skip the dynamic definition path for synthesized modules. ([#46612](https://github.com/expo/expo/pull/46612) by [@tsapeta](https://github.com/tsapeta)) +- [iOS] Added the public `Exceptions.ArgumentsRangeMismatch` exception, thrown by synthesized `@JS` function bindings when a JavaScript caller passes a number of arguments outside the accepted range. ([#46901](https://github.com/expo/expo/pull/46901) by [@tsapeta](https://github.com/tsapeta)) - Update edge-to-edge package to call `updateEdgeToEdgeFeatureFlag` ([#46335](https://github.com/expo/expo/pull/46335) by [@zoontek](https://github.com/zoontek)) - `NativeArrayBuffer` arguments no longer copy the buffer when it's already native-backed. ([#46448](https://github.com/expo/expo/pull/46448) by [@barthap](https://github.com/barthap)) - [iOS] `SharedObject::NativeState` now derives from `expo::NativeState` so the Swift wrapper can be recovered from the JS side via `getNativeState`, laying the groundwork for native-state-based shared object lookup. ([#46330](https://github.com/expo/expo/pull/46330) by [@tsapeta](https://github.com/tsapeta)) diff --git a/packages/expo-modules-core/ios/Core/Exceptions/CommonExceptions.swift b/packages/expo-modules-core/ios/Core/Exceptions/CommonExceptions.swift index 47f6d233ed3ba7..dd69361a141e69 100644 --- a/packages/expo-modules-core/ios/Core/Exceptions/CommonExceptions.swift +++ b/packages/expo-modules-core/ios/Core/Exceptions/CommonExceptions.swift @@ -54,6 +54,21 @@ public struct Exceptions { } } + /** + An exception to throw when a JavaScript caller passes a number of arguments outside the range the + native function accepts. The accepted range spans the required count (total minus the trailing run + of parameters that have a default value or an optional type) through the maximum (total parameters). + Thrown by the bindings the Expo Modules macros synthesize for `@JS` functions. + */ + public final class ArgumentsRangeMismatch: GenericException<(functionName: String, received: Int, required: Int, maximum: Int)> { + override public var reason: String { + if param.required == param.maximum { + return "'\(param.functionName)' takes \(param.maximum) argument(s), but received \(param.received)" + } + return "'\(param.functionName)' takes from \(param.required) to \(param.maximum) arguments, but received \(param.received)" + } + } + /** An exception to throw when there is no module implementing the `EXFileSystemInterface` interface. */