#![forbid(unsafe_code)]
mod availability;
mod backend;
mod calendar;
mod capability;
mod event;
mod notification;
mod participant_identity;
pub use availability::{BusyPeriod, BusyStatus};
pub use calendar::{Calendar, CalendarRights, IncludeInAvailability};
pub use capability::{
CalendarsAccountCapability, CalendarsCapability, CalendarsParseCapability,
JMAP_CALENDARS_PARSE_URI, JMAP_CALENDARS_URI, JMAP_PRINCIPALS_AVAILABILITY_URI,
PrincipalCalendarsCapability, PrincipalsAvailabilityAccountCapability,
PrincipalsAvailabilityCapability,
};
pub use event::{
CalendarEvent, CalendarEventComparator, CalendarEventComparatorProperty, CalendarEventFilter,
CalendarEventFilterCondition,
};
pub use jmap_jscalendar_types::{
AbsoluteTrigger, Alert, AlertTrigger, Duration, Link, LocalDateTime, Location, NDay,
OffsetTrigger, Participant, RecurrenceRule, Relation, SignedDuration, TimeZone, TimeZoneRule,
VirtualLocation,
};
pub use notification::{
CalendarAlert, CalendarEventNotification, CalendarEventNotificationComparator,
CalendarEventNotificationComparatorProperty, NotificationFilter, NotificationFilterCondition,
NotificationType, Person,
};
pub use participant_identity::ParticipantIdentity;
pub use jmap_types::{Filter, FilterOperator, Operator};
pub use backend::{
CalendarEventNotificationProperty, CalendarEventProperty, CalendarProperty,
PER_USER_CALENDAR_EVENT_PROPERTIES, ParticipantIdentityProperty,
is_per_user_calendar_event_property,
};