-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | iCalendar data types, parser, and printer.
--   
--   Data definitions, parsing and printing of the iCalendar format
--   (RFC5545).
@package iCalendar
@version 0.4.0.5


-- | ICalendar types, based on RFC5545.
module Text.ICalendar.Types

-- | Any other property.
data OtherProperty
OtherProperty :: CI Text -> ByteString -> OtherParams -> OtherProperty
[otherName] :: OtherProperty -> CI Text
[otherValue] :: OtherProperty -> ByteString
[otherParams] :: OtherProperty -> OtherParams

-- | Request Status. 3.8.8.3.
data RequestStatus
RequestStatus :: [Int] -> Text -> Maybe Language -> Maybe Text -> OtherParams -> RequestStatus
[requestStatusCode] :: RequestStatus -> [Int]
[requestStatusDesc] :: RequestStatus -> Text
[requestStatusLanguage] :: RequestStatus -> Maybe Language
[requestStatusExt] :: RequestStatus -> Maybe Text
[requestStatusOther] :: RequestStatus -> OtherParams

-- | Sequence number. 3.8.7.4.
data Sequence
Sequence :: Integer -> OtherParams -> Sequence
[sequenceValue] :: Sequence -> Integer
[sequenceOther] :: Sequence -> OtherParams

-- | Last Modified. 3.8.7.3.
data LastModified
LastModified :: UTCTime -> OtherParams -> LastModified
[lastModifiedValue] :: LastModified -> UTCTime
[lastModifiedOther] :: LastModified -> OtherParams

-- | Date-Time Stamp. 3.8.7.2.
data DTStamp
DTStamp :: UTCTime -> OtherParams -> DTStamp
[dtStampValue] :: DTStamp -> UTCTime
[dtStampOther] :: DTStamp -> OtherParams

-- | Date-Time Created. 3.8.7.1.
data Created
Created :: UTCTime -> OtherParams -> Created
[createdValue] :: Created -> UTCTime
[createdOther] :: Created -> OtherParams

-- | Trigger. 3.8.6.3.
data Trigger
TriggerDuration :: Duration -> AlarmTriggerRelationship -> OtherParams -> Trigger
[triggerDuration] :: Trigger -> Duration

-- | <a>def</a> = <a>Start</a>
[triggerRelated] :: Trigger -> AlarmTriggerRelationship
[triggerOther] :: Trigger -> OtherParams
TriggerDateTime :: UTCTime -> OtherParams -> Trigger
[triggerDateTime] :: Trigger -> UTCTime
[triggerOther] :: Trigger -> OtherParams

-- | Alarm Trigger Relationship. 3.2.14.
data AlarmTriggerRelationship
Start :: AlarmTriggerRelationship
End :: AlarmTriggerRelationship

-- | Repeat count. 3.8.6.2.
data Repeat
Repeat :: Integer -> OtherParams -> Repeat
[repeatValue] :: Repeat -> Integer
[repeatOther] :: Repeat -> OtherParams

-- | Recurrence Rule. 3.8.5.3.
data RRule
RRule :: Recur -> OtherParams -> RRule
[rRuleValue] :: RRule -> Recur
[rRuleOther] :: RRule -> OtherParams

-- | Recur value. 3.3.10.
data Recur
Recur :: Frequency -> Maybe (Either (Either Date DateTime) Int) -> Int -> [Int] -> [Int] -> [Int] -> [Either (Int, Weekday) Weekday] -> [Int] -> [Int] -> [Int] -> [Int] -> [Int] -> Weekday -> Recur
[recurFreq] :: Recur -> Frequency
[recurUntilCount] :: Recur -> Maybe (Either (Either Date DateTime) Int)
[recurInterval] :: Recur -> Int
[recurBySecond] :: Recur -> [Int]
[recurByMinute] :: Recur -> [Int]
[recurByHour] :: Recur -> [Int]
[recurByDay] :: Recur -> [Either (Int, Weekday) Weekday]
[recurByMonthDay] :: Recur -> [Int]
[recurByYearDay] :: Recur -> [Int]
[recurByWeekNo] :: Recur -> [Int]
[recurByMonth] :: Recur -> [Int]
[recurBySetPos] :: Recur -> [Int]
[recurWkSt] :: Recur -> Weekday

-- | Weekday, in recurrences. 3.3.10.
data Weekday
Sunday :: Weekday
Monday :: Weekday
Tuesday :: Weekday
Wednesday :: Weekday
Thursday :: Weekday
Friday :: Weekday
Saturday :: Weekday

-- | Frequency in recurrences. 3.3.10.
data Frequency
Secondly :: Frequency
Minutely :: Frequency
Hourly :: Frequency
Daily :: Frequency
Weekly :: Frequency
Monthly :: Frequency
Yearly :: Frequency

-- | Recurrence Date-Times. 3.8.5.2.
data RDate
RDateDates :: Set Date -> OtherParams -> RDate
[rDateDates] :: RDate -> Set Date
[rDateOther] :: RDate -> OtherParams
RDateDateTimes :: Set DateTime -> OtherParams -> RDate
[rDateDateTimes] :: RDate -> Set DateTime
[rDateOther] :: RDate -> OtherParams
RDatePeriods :: Set Period -> OtherParams -> RDate
[rDatePeriods] :: RDate -> Set Period
[rDateOther] :: RDate -> OtherParams

-- | Exception Date-Times. 3.8.5.1.
data ExDate
ExDates :: Set Date -> OtherParams -> ExDate
[exDates] :: ExDate -> Set Date
[exDateOther] :: ExDate -> OtherParams
ExDateTimes :: Set DateTime -> OtherParams -> ExDate
[exDateTimes] :: ExDate -> Set DateTime
[exDateOther] :: ExDate -> OtherParams

-- | Unique Identifier. 3.8.4.7.
data UID
UID :: Text -> OtherParams -> UID
[uidValue] :: UID -> Text
[uidOther] :: UID -> OtherParams

-- | Uniform Resource Locator. 3.8.4.6.
data URL
URL :: URI -> OtherParams -> URL
[urlValue] :: URL -> URI
[urlOther] :: URL -> OtherParams

-- | Relationship Type. 3.2.15.
--   
--   Unrecognized RelationshipTypeX values MUST be treated as Parent.
data RelationshipType
Parent :: RelationshipType
Child :: RelationshipType
Sibling :: RelationshipType
RelationshipTypeX :: CI Text -> RelationshipType

-- | Related To. 3.8.4.5.
data RelatedTo
RelatedTo :: Text -> RelationshipType -> OtherParams -> RelatedTo
[relatedToValue] :: RelatedTo -> Text
[relatedToType] :: RelatedTo -> RelationshipType
[relatedToOther] :: RelatedTo -> OtherParams

-- | Recurrence Identifier Range. 3.2.13
data Range
ThisAndFuture :: Range
ThisAndPrior :: Range

-- | Recurrence ID. 3.8.4.4.
data RecurrenceId
RecurrenceIdDate :: Date -> Maybe Range -> OtherParams -> RecurrenceId
[recurrenceIdDate] :: RecurrenceId -> Date
[recurrenceIdRange] :: RecurrenceId -> Maybe Range
[recurrenceIdOther] :: RecurrenceId -> OtherParams
RecurrenceIdDateTime :: DateTime -> Maybe Range -> OtherParams -> RecurrenceId
[recurrenceIdDateTime] :: RecurrenceId -> DateTime
[recurrenceIdRange] :: RecurrenceId -> Maybe Range
[recurrenceIdOther] :: RecurrenceId -> OtherParams

-- | Organizer. 3.8.4.3.
--   
--   TODO: CAL-ADDRESS-related properties.
data Organizer
Organizer :: CalAddress -> Maybe Text -> Maybe URI -> Maybe CalAddress -> Maybe Language -> OtherParams -> Organizer
[organizerValue] :: Organizer -> CalAddress
[organizerCN] :: Organizer -> Maybe Text
[organizerDir] :: Organizer -> Maybe URI
[organizerSentBy] :: Organizer -> Maybe CalAddress
[organizerLanguage] :: Organizer -> Maybe Language
[organizerOther] :: Organizer -> OtherParams

-- | Contact. 3.8.4.2.
data Contact
Contact :: Text -> Maybe URI -> Maybe Language -> OtherParams -> Contact
[contactValue] :: Contact -> Text
[contactAltRep] :: Contact -> Maybe URI
[contactLanguage] :: Contact -> Maybe Language
[contactOther] :: Contact -> OtherParams

-- | Participation Status. 3.2.12.
data PartStat
PartStatNeedsAction :: PartStat
Accepted :: PartStat
Declined :: PartStat
Tentative :: PartStat
Delegated :: PartStat
PartStatCompleted :: PartStat
InProcess :: PartStat
PartStatX :: CI Text -> PartStat

-- | Role. 3.2.16.
data Role
Chair :: Role
ReqParticipant :: Role
OptParticipant :: Role
NonParticipant :: Role
RoleX :: CI Text -> Role

-- | Calendar User Type. 3.2.3.
--   
--   Unrecognized CUTypeX MUST be treated as Unknown.
data CUType
Individual :: CUType
Group :: CUType
Resource :: CUType
Room :: CUType
Unknown :: CUType
CUTypeX :: CI Text -> CUType

-- | Attendee. 3.8.4.1.
data Attendee
Attendee :: CalAddress -> CUType -> Set CalAddress -> Role -> PartStat -> Bool -> Set CalAddress -> Set CalAddress -> Maybe CalAddress -> Maybe Text -> Maybe URI -> Maybe Language -> OtherParams -> Attendee
[attendeeValue] :: Attendee -> CalAddress

-- | <a>def</a> = <a>Individual</a>
[attendeeCUType] :: Attendee -> CUType
[attendeeMember] :: Attendee -> Set CalAddress

-- | <a>def</a> = <a>ReqParticipant</a>
[attendeeRole] :: Attendee -> Role

-- | <a>def</a> = <a>PartStatNeedsAction</a>
[attendeePartStat] :: Attendee -> PartStat
[attendeeRSVP] :: Attendee -> Bool
[attendeeDelTo] :: Attendee -> Set CalAddress
[attendeeDelFrom] :: Attendee -> Set CalAddress
[attendeeSentBy] :: Attendee -> Maybe CalAddress
[attendeeCN] :: Attendee -> Maybe Text
[attendeeDir] :: Attendee -> Maybe URI
[attendeeLanguage] :: Attendee -> Maybe Language
[attendeeOther] :: Attendee -> OtherParams

-- | Time Zone URL. 3.8.3.5.
data TZUrl
TZUrl :: URI -> OtherParams -> TZUrl
[tzUrlValue] :: TZUrl -> URI
[tzUrlOther] :: TZUrl -> OtherParams

-- | UTC Offset. 3.3.14, 3.8.3.4, and 3.8.3.3. (unified-ish)
data UTCOffset
UTCOffset :: Int -> OtherParams -> UTCOffset

-- | Number of seconds away from UTC
[utcOffsetValue] :: UTCOffset -> Int
[utcOffsetOther] :: UTCOffset -> OtherParams

-- | Time Zone Name. 3.8.3.2.
data TZName
TZName :: Text -> Maybe Language -> OtherParams -> TZName
[tzNameValue] :: TZName -> Text
[tzNameLanguage] :: TZName -> Maybe Language
[tzNameOther] :: TZName -> OtherParams

-- | Time Zone Identifier. 3.8.3.1.
data TZID
TZID :: Text -> Bool -> OtherParams -> TZID
[tzidValue] :: TZID -> Text
[tzidGlobal] :: TZID -> Bool
[tzidOther] :: TZID -> OtherParams

-- | Time Transparency. 3.8.2.7.
data TimeTransparency
Opaque :: OtherParams -> TimeTransparency
[timeTransparencyOther] :: TimeTransparency -> OtherParams
Transparent :: OtherParams -> TimeTransparency
[timeTransparencyOther] :: TimeTransparency -> OtherParams

-- | Free/Busy Time Type. 3.2.9.
--   
--   Unrecognized FBTypeX MUST be treated as Busy.
data FBType
Free :: FBType
Busy :: FBType
BusyUnavailable :: FBType
BusyTentative :: FBType
FBTypeX :: CI Text -> FBType

-- | Period of time which must be UTC, as in FreeBusy. 3.3.9.
data UTCPeriod
UTCPeriodDates :: UTCTime -> UTCTime -> UTCPeriod
UTCPeriodDuration :: UTCTime -> Duration -> UTCPeriod

-- | Period of time. 3.3.9.
data Period
PeriodDates :: DateTime -> DateTime -> Period
PeriodDuration :: DateTime -> Duration -> Period
data FreeBusy
FreeBusy :: FBType -> Set UTCPeriod -> OtherParams -> FreeBusy
[freeBusyType] :: FreeBusy -> FBType
[freeBusyPeriods] :: FreeBusy -> Set UTCPeriod
[freeBusyOther] :: FreeBusy -> OtherParams

-- | Duration property. 3.8.2.5.
data DurationProp
DurationProp :: Duration -> OtherParams -> DurationProp
[durationValue] :: DurationProp -> Duration
[durationOther] :: DurationProp -> OtherParams

-- | Sign.
data Sign
Positive :: Sign
Negative :: Sign

-- | Duration value. 3.3.6.
data Duration
DurationDate :: Sign -> Int -> Int -> Int -> Int -> Duration

-- | <a>def</a> = <a>Positive</a>
[durSign] :: Duration -> Sign
[durDay] :: Duration -> Int
[durHour] :: Duration -> Int
[durMinute] :: Duration -> Int
[durSecond] :: Duration -> Int
DurationTime :: Sign -> Int -> Int -> Int -> Duration

-- | <a>def</a> = <a>Positive</a>
[durSign] :: Duration -> Sign
[durHour] :: Duration -> Int
[durMinute] :: Duration -> Int
[durSecond] :: Duration -> Int
DurationWeek :: Sign -> Int -> Duration

-- | <a>def</a> = <a>Positive</a>
[durSign] :: Duration -> Sign
[durWeek] :: Duration -> Int

-- | Date-Time Start. 3.8.2.4.
data DTStart
DTStartDateTime :: DateTime -> OtherParams -> DTStart
[dtStartDateTimeValue] :: DTStart -> DateTime
[dtStartOther] :: DTStart -> OtherParams
DTStartDate :: Date -> OtherParams -> DTStart
[dtStartDateValue] :: DTStart -> Date
[dtStartOther] :: DTStart -> OtherParams

-- | Date-Time Due. 3.8.2.3.
data Due
DueDateTime :: DateTime -> OtherParams -> Due
[dueDateTimeValue] :: Due -> DateTime
[dueOther] :: Due -> OtherParams
DueDate :: Date -> OtherParams -> Due
[dueDateValue] :: Due -> Date
[dueOther] :: Due -> OtherParams

-- | Date-Time End. 3.8.2.2.
data DTEnd
DTEndDateTime :: DateTime -> OtherParams -> DTEnd
[dtEndDateTimeValue] :: DTEnd -> DateTime
[dtEndOther] :: DTEnd -> OtherParams
DTEndDate :: Date -> OtherParams -> DTEnd
[dtEndDateValue] :: DTEnd -> Date
[dtEndOther] :: DTEnd -> OtherParams

-- | Date-Time value. 3.3.5.
data DateTime
FloatingDateTime :: LocalTime -> DateTime
[dateTimeFloating] :: DateTime -> LocalTime
UTCDateTime :: UTCTime -> DateTime
[dateTimeUTC] :: DateTime -> UTCTime
ZonedDateTime :: LocalTime -> Text -> DateTime
[dateTimeFloating] :: DateTime -> LocalTime
[dateTimeZone] :: DateTime -> Text

-- | Date. 3.3.4
data Date
Date :: Day -> Date
[dateValue] :: Date -> Day

-- | Summary. 3.8.1.12.
data Summary
Summary :: Text -> Maybe URI -> Maybe Language -> OtherParams -> Summary
[summaryValue] :: Summary -> Text
[summaryAltRep] :: Summary -> Maybe URI
[summaryLanguage] :: Summary -> Maybe Language
[summaryOther] :: Summary -> OtherParams

-- | Status, but only for Journals. 3.8.1.11.
data JournalStatus
DraftJournal :: OtherParams -> JournalStatus
[journalStatusOther] :: JournalStatus -> OtherParams
FinalJournal :: OtherParams -> JournalStatus
[journalStatusOther] :: JournalStatus -> OtherParams
CancelledJournal :: OtherParams -> JournalStatus
[journalStatusOther] :: JournalStatus -> OtherParams

-- | Status, but only for TODOs. 3.8.1.11.
data TodoStatus
TodoNeedsAction :: OtherParams -> TodoStatus
[todoStatusOther] :: TodoStatus -> OtherParams
CompletedTodo :: OtherParams -> TodoStatus
[todoStatusOther] :: TodoStatus -> OtherParams
InProcessTodo :: OtherParams -> TodoStatus
[todoStatusOther] :: TodoStatus -> OtherParams
CancelledTodo :: OtherParams -> TodoStatus
[todoStatusOther] :: TodoStatus -> OtherParams

-- | Status, but only for Events. 3.8.1.11.
data EventStatus
TentativeEvent :: OtherParams -> EventStatus
[eventStatusOther] :: EventStatus -> OtherParams
ConfirmedEvent :: OtherParams -> EventStatus
[eventStatusOther] :: EventStatus -> OtherParams
CancelledEvent :: OtherParams -> EventStatus
[eventStatusOther] :: EventStatus -> OtherParams

-- | Resources. 3.8.1.10.
data Resources
Resources :: Set Text -> Maybe URI -> Maybe Language -> OtherParams -> Resources
[resourcesValue] :: Resources -> Set Text
[resourcesAltRep] :: Resources -> Maybe URI
[resourcesLanguage] :: Resources -> Maybe Language
[resourcesOther] :: Resources -> OtherParams

-- | Priority. 3.8.1.9.
data Priority
Priority :: Int -> OtherParams -> Priority
[priorityValue] :: Priority -> Int
[priorityOther] :: Priority -> OtherParams

-- | Percent complete. 3.8.1.8.
data PercentComplete
PercentComplete :: Int -> OtherParams -> PercentComplete
[percentCompleteValue] :: PercentComplete -> Int
[percentCompleteOther] :: PercentComplete -> OtherParams

-- | Location. 3.8.1.7.
data Location
Location :: Text -> Maybe URI -> Maybe Language -> OtherParams -> Location
[locationValue] :: Location -> Text
[locationAltRep] :: Location -> Maybe URI
[locationLanguage] :: Location -> Maybe Language
[locationOther] :: Location -> OtherParams

-- | Geographic Position. 3.8.1.6.
data Geo
Geo :: Float -> Float -> OtherParams -> Geo
[geoLat] :: Geo -> Float
[geoLong] :: Geo -> Float
[geoOther] :: Geo -> OtherParams

-- | Description. 3.8.1.5.
data Description
Description :: Text -> Maybe URI -> Maybe Language -> OtherParams -> Description
[descriptionValue] :: Description -> Text
[descriptionAltRep] :: Description -> Maybe URI
[descriptionLanguage] :: Description -> Maybe Language
[descriptionOther] :: Description -> OtherParams

-- | Comment. 3.8.1.4.
data Comment
Comment :: Text -> Maybe URI -> Maybe Language -> OtherParams -> Comment
[commentValue] :: Comment -> Text
[commentAltRep] :: Comment -> Maybe URI
[commentLanguage] :: Comment -> Maybe Language
[commentOther] :: Comment -> OtherParams

-- | Date-Time Completed. 3.8.2.1.
data Completed
Completed :: DateTime -> OtherParams -> Completed
[completedValue] :: Completed -> DateTime
[completedOther] :: Completed -> OtherParams

-- | Classification value. 3.8.1.3. Unrecognized ClassValueX MUST be
--   treated as Private.
data ClassValue
Public :: ClassValue
Private :: ClassValue
Confidential :: ClassValue
ClassValueX :: CI Text -> ClassValue

-- | Classification. 3.8.1.3.
data Class
Class :: ClassValue -> OtherParams -> Class
[classValue] :: Class -> ClassValue
[classOther] :: Class -> OtherParams

-- | Categories. 3.8.1.2.
data Categories
Categories :: Set Text -> Maybe Language -> OtherParams -> Categories
[categoriesValues] :: Categories -> Set Text
[categoriesLanguage] :: Categories -> Maybe Language
[categoriesOther] :: Categories -> OtherParams

-- | Attachment. 3.8.1.1.
data Attachment
UriAttachment :: Maybe MIMEType -> URI -> OtherParams -> Attachment
[attachFmtType] :: Attachment -> Maybe MIMEType
[attachUri] :: Attachment -> URI
[attachOther] :: Attachment -> OtherParams
BinaryAttachment :: Maybe MIMEType -> ByteString -> OtherParams -> Attachment
[attachFmtType] :: Attachment -> Maybe MIMEType
[attachContent] :: Attachment -> ByteString
[attachOther] :: Attachment -> OtherParams

-- | Any other component not recognized.
data VOther
VOther :: CI Text -> Set OtherProperty -> VOther
[voName] :: VOther -> CI Text
[voProps] :: VOther -> Set OtherProperty

-- | VAlarm component. 3.6.6.
data VAlarm
VAlarmAudio :: Trigger -> Repeat -> Maybe DurationProp -> Maybe Attachment -> Set OtherProperty -> OtherParams -> VAlarm
[vaTrigger] :: VAlarm -> Trigger

-- | <a>def</a> = 0
[vaRepeat] :: VAlarm -> Repeat
[vaDuration] :: VAlarm -> Maybe DurationProp
[vaAudioAttach] :: VAlarm -> Maybe Attachment
[vaOther] :: VAlarm -> Set OtherProperty
[vaActionOther] :: VAlarm -> OtherParams
VAlarmDisplay :: Description -> Trigger -> Repeat -> Maybe DurationProp -> Set OtherProperty -> OtherParams -> VAlarm
[vaDescription] :: VAlarm -> Description
[vaTrigger] :: VAlarm -> Trigger

-- | <a>def</a> = 0
[vaRepeat] :: VAlarm -> Repeat
[vaDuration] :: VAlarm -> Maybe DurationProp
[vaOther] :: VAlarm -> Set OtherProperty
[vaActionOther] :: VAlarm -> OtherParams
VAlarmEmail :: Description -> Trigger -> Summary -> Set Attendee -> Repeat -> Maybe DurationProp -> Set Attachment -> Set OtherProperty -> OtherParams -> VAlarm
[vaDescription] :: VAlarm -> Description
[vaTrigger] :: VAlarm -> Trigger
[vaSummary] :: VAlarm -> Summary
[vaAttendee] :: VAlarm -> Set Attendee

-- | <a>def</a> = 0
[vaRepeat] :: VAlarm -> Repeat
[vaDuration] :: VAlarm -> Maybe DurationProp
[vaMailAttach] :: VAlarm -> Set Attachment
[vaOther] :: VAlarm -> Set OtherProperty
[vaActionOther] :: VAlarm -> OtherParams
VAlarmX :: CI Text -> Trigger -> OtherParams -> Set OtherProperty -> VAlarm
[vaAction] :: VAlarm -> CI Text
[vaTrigger] :: VAlarm -> Trigger
[vaActionOther] :: VAlarm -> OtherParams
[vaOther] :: VAlarm -> Set OtherProperty

-- | Time zone property, also 3.6.5.
data TZProp
TZProp :: DTStart -> UTCOffset -> UTCOffset -> Set RRule -> Set Comment -> Set RDate -> Set TZName -> Set OtherProperty -> TZProp
[tzpDTStart] :: TZProp -> DTStart
[tzpTZOffsetTo] :: TZProp -> UTCOffset
[tzpTZOffsetFrom] :: TZProp -> UTCOffset
[tzpRRule] :: TZProp -> Set RRule
[tzpComment] :: TZProp -> Set Comment
[tzpRDate] :: TZProp -> Set RDate
[tzpTZName] :: TZProp -> Set TZName
[tzpOther] :: TZProp -> Set OtherProperty

-- | Time Zone Component. 3.6.5.
data VTimeZone
VTimeZone :: TZID -> Maybe LastModified -> Maybe TZUrl -> Set TZProp -> Set TZProp -> Set OtherProperty -> VTimeZone
[vtzId] :: VTimeZone -> TZID
[vtzLastMod] :: VTimeZone -> Maybe LastModified
[vtzUrl] :: VTimeZone -> Maybe TZUrl
[vtzStandardC] :: VTimeZone -> Set TZProp
[vtzDaylightC] :: VTimeZone -> Set TZProp
[vtzOther] :: VTimeZone -> Set OtherProperty

-- | Free/Busy Component. 3.6.4
data VFreeBusy
VFreeBusy :: DTStamp -> UID -> Maybe Contact -> Maybe DTStart -> Maybe DTEnd -> Maybe Organizer -> Maybe URL -> Set Attendee -> Set Comment -> Set FreeBusy -> Set RequestStatus -> Set OtherProperty -> VFreeBusy
[vfbDTStamp] :: VFreeBusy -> DTStamp
[vfbUID] :: VFreeBusy -> UID
[vfbContact] :: VFreeBusy -> Maybe Contact
[vfbDTStart] :: VFreeBusy -> Maybe DTStart
[vfbDTEnd] :: VFreeBusy -> Maybe DTEnd
[vfbOrganizer] :: VFreeBusy -> Maybe Organizer
[vfbUrl] :: VFreeBusy -> Maybe URL
[vfbAttendee] :: VFreeBusy -> Set Attendee
[vfbComment] :: VFreeBusy -> Set Comment
[vfbFreeBusy] :: VFreeBusy -> Set FreeBusy
[vfbRStatus] :: VFreeBusy -> Set RequestStatus
[vfbOther] :: VFreeBusy -> Set OtherProperty

-- | Journal Component. 3.6.3
data VJournal
VJournal :: DTStamp -> UID -> Class -> Maybe Created -> Maybe DTStart -> Maybe LastModified -> Maybe Organizer -> Maybe RecurrenceId -> Sequence -> Maybe JournalStatus -> Maybe Summary -> Maybe URL -> Set RRule -> Set Attachment -> Set Attendee -> Set Categories -> Set Comment -> Set Contact -> Set Description -> Set ExDate -> Set RelatedTo -> Set RDate -> Set RequestStatus -> Set OtherProperty -> VJournal
[vjDTStamp] :: VJournal -> DTStamp
[vjUID] :: VJournal -> UID

-- | <a>def</a> = <a>Public</a>
[vjClass] :: VJournal -> Class
[vjCreated] :: VJournal -> Maybe Created
[vjDTStart] :: VJournal -> Maybe DTStart
[vjLastMod] :: VJournal -> Maybe LastModified
[vjOrganizer] :: VJournal -> Maybe Organizer
[vjRecurId] :: VJournal -> Maybe RecurrenceId

-- | <a>def</a> = 0
[vjSeq] :: VJournal -> Sequence
[vjStatus] :: VJournal -> Maybe JournalStatus
[vjSummary] :: VJournal -> Maybe Summary
[vjUrl] :: VJournal -> Maybe URL
[vjRRule] :: VJournal -> Set RRule
[vjAttach] :: VJournal -> Set Attachment
[vjAttendee] :: VJournal -> Set Attendee
[vjCategories] :: VJournal -> Set Categories
[vjComment] :: VJournal -> Set Comment
[vjContact] :: VJournal -> Set Contact
[vjDescription] :: VJournal -> Set Description
[vjExDate] :: VJournal -> Set ExDate
[vjRelated] :: VJournal -> Set RelatedTo
[vjRDate] :: VJournal -> Set RDate
[vjRStatus] :: VJournal -> Set RequestStatus
[vjOther] :: VJournal -> Set OtherProperty

-- | To-Do Component. 3.6.2
data VTodo
VTodo :: DTStamp -> UID -> Class -> Maybe Completed -> Maybe Created -> Maybe Description -> Maybe DTStart -> Maybe Geo -> Maybe LastModified -> Maybe Location -> Maybe Organizer -> Maybe PercentComplete -> Priority -> Maybe RecurrenceId -> Sequence -> Maybe TodoStatus -> Maybe Summary -> Maybe URL -> Set RRule -> Maybe (Either Due DurationProp) -> Set Attachment -> Set Attendee -> Set Categories -> Set Comment -> Set Contact -> Set ExDate -> Set RequestStatus -> Set RelatedTo -> Set Resources -> Set RDate -> Set VAlarm -> Set OtherProperty -> VTodo
[vtDTStamp] :: VTodo -> DTStamp
[vtUID] :: VTodo -> UID

-- | <a>def</a> = <a>Public</a>
[vtClass] :: VTodo -> Class
[vtCompleted] :: VTodo -> Maybe Completed
[vtCreated] :: VTodo -> Maybe Created
[vtDescription] :: VTodo -> Maybe Description
[vtDTStart] :: VTodo -> Maybe DTStart
[vtGeo] :: VTodo -> Maybe Geo
[vtLastMod] :: VTodo -> Maybe LastModified
[vtLocation] :: VTodo -> Maybe Location
[vtOrganizer] :: VTodo -> Maybe Organizer
[vtPercent] :: VTodo -> Maybe PercentComplete

-- | <a>def</a> = 0
[vtPriority] :: VTodo -> Priority
[vtRecurId] :: VTodo -> Maybe RecurrenceId

-- | <a>def</a> = 0
[vtSeq] :: VTodo -> Sequence
[vtStatus] :: VTodo -> Maybe TodoStatus
[vtSummary] :: VTodo -> Maybe Summary
[vtUrl] :: VTodo -> Maybe URL
[vtRRule] :: VTodo -> Set RRule
[vtDueDuration] :: VTodo -> Maybe (Either Due DurationProp)
[vtAttach] :: VTodo -> Set Attachment
[vtAttendee] :: VTodo -> Set Attendee
[vtCategories] :: VTodo -> Set Categories
[vtComment] :: VTodo -> Set Comment
[vtContact] :: VTodo -> Set Contact
[vtExDate] :: VTodo -> Set ExDate
[vtRStatus] :: VTodo -> Set RequestStatus
[vtRelated] :: VTodo -> Set RelatedTo
[vtResources] :: VTodo -> Set Resources
[vtRDate] :: VTodo -> Set RDate
[vtAlarms] :: VTodo -> Set VAlarm
[vtOther] :: VTodo -> Set OtherProperty

-- | Event Component. 3.6.1.
data VEvent
VEvent :: DTStamp -> UID -> Class -> Maybe DTStart -> Maybe Created -> Maybe Description -> Maybe Geo -> Maybe LastModified -> Maybe Location -> Maybe Organizer -> Priority -> Sequence -> Maybe EventStatus -> Maybe Summary -> TimeTransparency -> Maybe URL -> Maybe RecurrenceId -> Set RRule -> Maybe (Either DTEnd DurationProp) -> Set Attachment -> Set Attendee -> Set Categories -> Set Comment -> Set Contact -> Set ExDate -> Set RequestStatus -> Set RelatedTo -> Set Resources -> Set RDate -> Set VAlarm -> Set OtherProperty -> VEvent
[veDTStamp] :: VEvent -> DTStamp
[veUID] :: VEvent -> UID

-- | <a>def</a> = <a>Public</a>
[veClass] :: VEvent -> Class
[veDTStart] :: VEvent -> Maybe DTStart
[veCreated] :: VEvent -> Maybe Created
[veDescription] :: VEvent -> Maybe Description
[veGeo] :: VEvent -> Maybe Geo
[veLastMod] :: VEvent -> Maybe LastModified
[veLocation] :: VEvent -> Maybe Location
[veOrganizer] :: VEvent -> Maybe Organizer

-- | <a>def</a> = 0
[vePriority] :: VEvent -> Priority

-- | <a>def</a> = 0
[veSeq] :: VEvent -> Sequence
[veStatus] :: VEvent -> Maybe EventStatus
[veSummary] :: VEvent -> Maybe Summary

-- | <a>def</a> = <a>Opaque</a>
[veTransp] :: VEvent -> TimeTransparency
[veUrl] :: VEvent -> Maybe URL
[veRecurId] :: VEvent -> Maybe RecurrenceId
[veRRule] :: VEvent -> Set RRule
[veDTEndDuration] :: VEvent -> Maybe (Either DTEnd DurationProp)
[veAttach] :: VEvent -> Set Attachment
[veAttendee] :: VEvent -> Set Attendee
[veCategories] :: VEvent -> Set Categories
[veComment] :: VEvent -> Set Comment
[veContact] :: VEvent -> Set Contact
[veExDate] :: VEvent -> Set ExDate
[veRStatus] :: VEvent -> Set RequestStatus
[veRelated] :: VEvent -> Set RelatedTo
[veResources] :: VEvent -> Set Resources
[veRDate] :: VEvent -> Set RDate
[veAlarms] :: VEvent -> Set VAlarm
[veOther] :: VEvent -> Set OtherProperty

-- | Method. 3.7.2.
data Method
Method :: CI Text -> OtherParams -> Method
[methodValue] :: Method -> CI Text
[methodOther] :: Method -> OtherParams

-- | Calendar Scale. 3.7.1.
data Scale
Scale :: CI Text -> OtherParams -> Scale
[scaleValue] :: Scale -> CI Text
[scaleOther] :: Scale -> OtherParams

-- | Version. 3.7.4.
data ICalVersion
MaxICalVersion :: Version -> OtherParams -> ICalVersion
[versionMax] :: ICalVersion -> Version
[versionOther] :: ICalVersion -> OtherParams
MinMaxICalVersion :: Version -> Version -> OtherParams -> ICalVersion
[versionMax] :: ICalVersion -> Version
[versionMin] :: ICalVersion -> Version
[versionOther] :: ICalVersion -> OtherParams

-- | Product Identifier. 3.7.3.
data ProdId
ProdId :: Text -> OtherParams -> ProdId
[prodIdValue] :: ProdId -> Text
[prodIdOther] :: ProdId -> OtherParams

-- | VCalendar component. 3.4.
data VCalendar
VCalendar :: ProdId -> ICalVersion -> Scale -> Maybe Method -> Set OtherProperty -> Map Text VTimeZone -> Map (Text, Maybe (Either Date DateTime)) VEvent -> Map (Text, Maybe (Either Date DateTime)) VTodo -> Map (Text, Maybe (Either Date DateTime)) VJournal -> Map Text VFreeBusy -> Set VOther -> VCalendar
[vcProdId] :: VCalendar -> ProdId
[vcVersion] :: VCalendar -> ICalVersion
[vcScale] :: VCalendar -> Scale
[vcMethod] :: VCalendar -> Maybe Method
[vcOther] :: VCalendar -> Set OtherProperty

-- | Map TZID-value VTimeZone
[vcTimeZones] :: VCalendar -> Map Text VTimeZone

-- | Map (UID-value, Maybe RecurrenceID-value) VEvent
[vcEvents] :: VCalendar -> Map (Text, Maybe (Either Date DateTime)) VEvent

-- | Map (UID-value, Maybe RecurrenceID-value) VTodo
[vcTodos] :: VCalendar -> Map (Text, Maybe (Either Date DateTime)) VTodo

-- | Map (UID-value, Maybe RecurrenceID-value) VJournal
[vcJournals] :: VCalendar -> Map (Text, Maybe (Either Date DateTime)) VJournal

-- | Map UID-value VFreeBusy
[vcFreeBusys] :: VCalendar -> Map Text VFreeBusy
[vcOtherComps] :: VCalendar -> Set VOther

-- | Other parameters, either x-param or other iana-param.
data OtherParams
OtherParams :: Set OtherParam -> OtherParams

-- | One other parameter, either x-param or iana-param.
data OtherParam
OtherParam :: CI Text -> [Text] -> OtherParam
type CalAddress = URI

-- | Language.
newtype Language
Language :: CI Text -> Language
instance GHC.Classes.Ord Text.ICalendar.Types.VCalendar
instance GHC.Classes.Eq Text.ICalendar.Types.VCalendar
instance GHC.Show.Show Text.ICalendar.Types.VCalendar
instance GHC.Classes.Ord Text.ICalendar.Types.VEvent
instance GHC.Classes.Eq Text.ICalendar.Types.VEvent
instance GHC.Show.Show Text.ICalendar.Types.VEvent
instance GHC.Classes.Ord Text.ICalendar.Types.VTodo
instance GHC.Classes.Eq Text.ICalendar.Types.VTodo
instance GHC.Show.Show Text.ICalendar.Types.VTodo
instance GHC.Classes.Ord Text.ICalendar.Types.VJournal
instance GHC.Classes.Eq Text.ICalendar.Types.VJournal
instance GHC.Show.Show Text.ICalendar.Types.VJournal
instance GHC.Classes.Ord Text.ICalendar.Types.VFreeBusy
instance GHC.Classes.Eq Text.ICalendar.Types.VFreeBusy
instance GHC.Show.Show Text.ICalendar.Types.VFreeBusy
instance GHC.Classes.Ord Text.ICalendar.Types.VTimeZone
instance GHC.Classes.Eq Text.ICalendar.Types.VTimeZone
instance GHC.Show.Show Text.ICalendar.Types.VTimeZone
instance GHC.Classes.Ord Text.ICalendar.Types.TZProp
instance GHC.Classes.Eq Text.ICalendar.Types.TZProp
instance GHC.Show.Show Text.ICalendar.Types.TZProp
instance GHC.Classes.Ord Text.ICalendar.Types.VAlarm
instance GHC.Classes.Eq Text.ICalendar.Types.VAlarm
instance GHC.Show.Show Text.ICalendar.Types.VAlarm
instance GHC.Classes.Ord Text.ICalendar.Types.VOther
instance GHC.Classes.Eq Text.ICalendar.Types.VOther
instance GHC.Show.Show Text.ICalendar.Types.VOther
instance GHC.Classes.Ord Text.ICalendar.Types.OtherProperty
instance GHC.Classes.Eq Text.ICalendar.Types.OtherProperty
instance GHC.Show.Show Text.ICalendar.Types.OtherProperty
instance GHC.Classes.Ord Text.ICalendar.Types.RequestStatus
instance GHC.Classes.Eq Text.ICalendar.Types.RequestStatus
instance GHC.Show.Show Text.ICalendar.Types.RequestStatus
instance GHC.Classes.Ord Text.ICalendar.Types.Sequence
instance GHC.Classes.Eq Text.ICalendar.Types.Sequence
instance GHC.Show.Show Text.ICalendar.Types.Sequence
instance GHC.Classes.Ord Text.ICalendar.Types.LastModified
instance GHC.Classes.Eq Text.ICalendar.Types.LastModified
instance GHC.Show.Show Text.ICalendar.Types.LastModified
instance GHC.Classes.Ord Text.ICalendar.Types.DTStamp
instance GHC.Classes.Eq Text.ICalendar.Types.DTStamp
instance GHC.Show.Show Text.ICalendar.Types.DTStamp
instance GHC.Classes.Ord Text.ICalendar.Types.Created
instance GHC.Classes.Eq Text.ICalendar.Types.Created
instance GHC.Show.Show Text.ICalendar.Types.Created
instance GHC.Classes.Ord Text.ICalendar.Types.Trigger
instance GHC.Classes.Eq Text.ICalendar.Types.Trigger
instance GHC.Show.Show Text.ICalendar.Types.Trigger
instance GHC.Classes.Ord Text.ICalendar.Types.AlarmTriggerRelationship
instance GHC.Classes.Eq Text.ICalendar.Types.AlarmTriggerRelationship
instance GHC.Show.Show Text.ICalendar.Types.AlarmTriggerRelationship
instance GHC.Classes.Ord Text.ICalendar.Types.Repeat
instance GHC.Classes.Eq Text.ICalendar.Types.Repeat
instance GHC.Show.Show Text.ICalendar.Types.Repeat
instance GHC.Classes.Ord Text.ICalendar.Types.RRule
instance GHC.Classes.Eq Text.ICalendar.Types.RRule
instance GHC.Show.Show Text.ICalendar.Types.RRule
instance GHC.Classes.Ord Text.ICalendar.Types.Recur
instance GHC.Classes.Eq Text.ICalendar.Types.Recur
instance GHC.Show.Show Text.ICalendar.Types.Recur
instance GHC.Enum.Enum Text.ICalendar.Types.Weekday
instance GHC.Enum.Bounded Text.ICalendar.Types.Weekday
instance GHC.Classes.Ord Text.ICalendar.Types.Weekday
instance GHC.Classes.Eq Text.ICalendar.Types.Weekday
instance GHC.Show.Show Text.ICalendar.Types.Weekday
instance GHC.Classes.Ord Text.ICalendar.Types.Frequency
instance GHC.Classes.Eq Text.ICalendar.Types.Frequency
instance GHC.Show.Show Text.ICalendar.Types.Frequency
instance GHC.Classes.Ord Text.ICalendar.Types.RDate
instance GHC.Classes.Eq Text.ICalendar.Types.RDate
instance GHC.Show.Show Text.ICalendar.Types.RDate
instance GHC.Classes.Ord Text.ICalendar.Types.ExDate
instance GHC.Classes.Eq Text.ICalendar.Types.ExDate
instance GHC.Show.Show Text.ICalendar.Types.ExDate
instance GHC.Classes.Ord Text.ICalendar.Types.UID
instance GHC.Classes.Eq Text.ICalendar.Types.UID
instance GHC.Show.Show Text.ICalendar.Types.UID
instance GHC.Classes.Ord Text.ICalendar.Types.URL
instance GHC.Classes.Eq Text.ICalendar.Types.URL
instance GHC.Show.Show Text.ICalendar.Types.URL
instance GHC.Classes.Ord Text.ICalendar.Types.RelatedTo
instance GHC.Classes.Eq Text.ICalendar.Types.RelatedTo
instance GHC.Show.Show Text.ICalendar.Types.RelatedTo
instance GHC.Classes.Ord Text.ICalendar.Types.RelationshipType
instance GHC.Classes.Eq Text.ICalendar.Types.RelationshipType
instance GHC.Show.Show Text.ICalendar.Types.RelationshipType
instance GHC.Classes.Ord Text.ICalendar.Types.RecurrenceId
instance GHC.Classes.Eq Text.ICalendar.Types.RecurrenceId
instance GHC.Show.Show Text.ICalendar.Types.RecurrenceId
instance GHC.Classes.Ord Text.ICalendar.Types.Range
instance GHC.Classes.Eq Text.ICalendar.Types.Range
instance GHC.Show.Show Text.ICalendar.Types.Range
instance GHC.Classes.Ord Text.ICalendar.Types.Organizer
instance GHC.Classes.Eq Text.ICalendar.Types.Organizer
instance GHC.Show.Show Text.ICalendar.Types.Organizer
instance GHC.Classes.Ord Text.ICalendar.Types.Contact
instance GHC.Classes.Eq Text.ICalendar.Types.Contact
instance GHC.Show.Show Text.ICalendar.Types.Contact
instance GHC.Classes.Ord Text.ICalendar.Types.Attendee
instance GHC.Classes.Eq Text.ICalendar.Types.Attendee
instance GHC.Show.Show Text.ICalendar.Types.Attendee
instance GHC.Classes.Ord Text.ICalendar.Types.PartStat
instance GHC.Classes.Eq Text.ICalendar.Types.PartStat
instance GHC.Show.Show Text.ICalendar.Types.PartStat
instance GHC.Classes.Ord Text.ICalendar.Types.Role
instance GHC.Classes.Eq Text.ICalendar.Types.Role
instance GHC.Show.Show Text.ICalendar.Types.Role
instance GHC.Classes.Ord Text.ICalendar.Types.CUType
instance GHC.Classes.Eq Text.ICalendar.Types.CUType
instance GHC.Show.Show Text.ICalendar.Types.CUType
instance GHC.Classes.Ord Text.ICalendar.Types.TZUrl
instance GHC.Classes.Eq Text.ICalendar.Types.TZUrl
instance GHC.Show.Show Text.ICalendar.Types.TZUrl
instance GHC.Classes.Ord Text.ICalendar.Types.UTCOffset
instance GHC.Classes.Eq Text.ICalendar.Types.UTCOffset
instance GHC.Show.Show Text.ICalendar.Types.UTCOffset
instance GHC.Classes.Ord Text.ICalendar.Types.TZName
instance GHC.Classes.Eq Text.ICalendar.Types.TZName
instance GHC.Show.Show Text.ICalendar.Types.TZName
instance GHC.Classes.Ord Text.ICalendar.Types.TZID
instance GHC.Classes.Eq Text.ICalendar.Types.TZID
instance GHC.Show.Show Text.ICalendar.Types.TZID
instance GHC.Classes.Ord Text.ICalendar.Types.TimeTransparency
instance GHC.Classes.Eq Text.ICalendar.Types.TimeTransparency
instance GHC.Show.Show Text.ICalendar.Types.TimeTransparency
instance GHC.Classes.Ord Text.ICalendar.Types.FreeBusy
instance GHC.Classes.Eq Text.ICalendar.Types.FreeBusy
instance GHC.Show.Show Text.ICalendar.Types.FreeBusy
instance GHC.Classes.Ord Text.ICalendar.Types.FBType
instance GHC.Classes.Eq Text.ICalendar.Types.FBType
instance GHC.Show.Show Text.ICalendar.Types.FBType
instance GHC.Classes.Ord Text.ICalendar.Types.UTCPeriod
instance GHC.Classes.Eq Text.ICalendar.Types.UTCPeriod
instance GHC.Show.Show Text.ICalendar.Types.UTCPeriod
instance GHC.Classes.Ord Text.ICalendar.Types.Period
instance GHC.Classes.Eq Text.ICalendar.Types.Period
instance GHC.Show.Show Text.ICalendar.Types.Period
instance GHC.Classes.Ord Text.ICalendar.Types.DurationProp
instance GHC.Classes.Eq Text.ICalendar.Types.DurationProp
instance GHC.Show.Show Text.ICalendar.Types.DurationProp
instance GHC.Classes.Ord Text.ICalendar.Types.Duration
instance GHC.Classes.Eq Text.ICalendar.Types.Duration
instance GHC.Show.Show Text.ICalendar.Types.Duration
instance GHC.Classes.Ord Text.ICalendar.Types.Sign
instance GHC.Classes.Eq Text.ICalendar.Types.Sign
instance GHC.Show.Show Text.ICalendar.Types.Sign
instance GHC.Classes.Ord Text.ICalendar.Types.DTStart
instance GHC.Classes.Eq Text.ICalendar.Types.DTStart
instance GHC.Show.Show Text.ICalendar.Types.DTStart
instance GHC.Classes.Ord Text.ICalendar.Types.Due
instance GHC.Classes.Eq Text.ICalendar.Types.Due
instance GHC.Show.Show Text.ICalendar.Types.Due
instance GHC.Classes.Ord Text.ICalendar.Types.DTEnd
instance GHC.Classes.Eq Text.ICalendar.Types.DTEnd
instance GHC.Show.Show Text.ICalendar.Types.DTEnd
instance GHC.Classes.Ord Text.ICalendar.Types.Completed
instance GHC.Classes.Eq Text.ICalendar.Types.Completed
instance GHC.Show.Show Text.ICalendar.Types.Completed
instance GHC.Classes.Ord Text.ICalendar.Types.DateTime
instance GHC.Classes.Eq Text.ICalendar.Types.DateTime
instance GHC.Show.Show Text.ICalendar.Types.DateTime
instance GHC.Classes.Ord Text.ICalendar.Types.Date
instance GHC.Classes.Eq Text.ICalendar.Types.Date
instance GHC.Show.Show Text.ICalendar.Types.Date
instance GHC.Classes.Ord Text.ICalendar.Types.Summary
instance GHC.Classes.Eq Text.ICalendar.Types.Summary
instance GHC.Show.Show Text.ICalendar.Types.Summary
instance GHC.Classes.Ord Text.ICalendar.Types.JournalStatus
instance GHC.Classes.Eq Text.ICalendar.Types.JournalStatus
instance GHC.Show.Show Text.ICalendar.Types.JournalStatus
instance GHC.Classes.Ord Text.ICalendar.Types.TodoStatus
instance GHC.Classes.Eq Text.ICalendar.Types.TodoStatus
instance GHC.Show.Show Text.ICalendar.Types.TodoStatus
instance GHC.Classes.Ord Text.ICalendar.Types.EventStatus
instance GHC.Classes.Eq Text.ICalendar.Types.EventStatus
instance GHC.Show.Show Text.ICalendar.Types.EventStatus
instance GHC.Classes.Ord Text.ICalendar.Types.Resources
instance GHC.Classes.Eq Text.ICalendar.Types.Resources
instance GHC.Show.Show Text.ICalendar.Types.Resources
instance GHC.Classes.Ord Text.ICalendar.Types.Priority
instance GHC.Classes.Eq Text.ICalendar.Types.Priority
instance GHC.Show.Show Text.ICalendar.Types.Priority
instance GHC.Classes.Ord Text.ICalendar.Types.PercentComplete
instance GHC.Classes.Eq Text.ICalendar.Types.PercentComplete
instance GHC.Show.Show Text.ICalendar.Types.PercentComplete
instance GHC.Classes.Ord Text.ICalendar.Types.Location
instance GHC.Classes.Eq Text.ICalendar.Types.Location
instance GHC.Show.Show Text.ICalendar.Types.Location
instance GHC.Classes.Ord Text.ICalendar.Types.Geo
instance GHC.Classes.Eq Text.ICalendar.Types.Geo
instance GHC.Show.Show Text.ICalendar.Types.Geo
instance GHC.Classes.Ord Text.ICalendar.Types.Description
instance GHC.Classes.Eq Text.ICalendar.Types.Description
instance GHC.Show.Show Text.ICalendar.Types.Description
instance GHC.Classes.Ord Text.ICalendar.Types.Comment
instance GHC.Classes.Eq Text.ICalendar.Types.Comment
instance GHC.Show.Show Text.ICalendar.Types.Comment
instance GHC.Classes.Ord Text.ICalendar.Types.Class
instance GHC.Classes.Eq Text.ICalendar.Types.Class
instance GHC.Show.Show Text.ICalendar.Types.Class
instance GHC.Classes.Ord Text.ICalendar.Types.ClassValue
instance GHC.Classes.Eq Text.ICalendar.Types.ClassValue
instance GHC.Show.Show Text.ICalendar.Types.ClassValue
instance GHC.Classes.Ord Text.ICalendar.Types.Categories
instance GHC.Classes.Eq Text.ICalendar.Types.Categories
instance GHC.Show.Show Text.ICalendar.Types.Categories
instance GHC.Classes.Ord Text.ICalendar.Types.Attachment
instance GHC.Classes.Eq Text.ICalendar.Types.Attachment
instance GHC.Show.Show Text.ICalendar.Types.Attachment
instance GHC.Classes.Ord Text.ICalendar.Types.Method
instance GHC.Classes.Eq Text.ICalendar.Types.Method
instance GHC.Show.Show Text.ICalendar.Types.Method
instance GHC.Classes.Ord Text.ICalendar.Types.Scale
instance GHC.Classes.Eq Text.ICalendar.Types.Scale
instance GHC.Show.Show Text.ICalendar.Types.Scale
instance GHC.Classes.Ord Text.ICalendar.Types.ICalVersion
instance GHC.Classes.Eq Text.ICalendar.Types.ICalVersion
instance GHC.Show.Show Text.ICalendar.Types.ICalVersion
instance GHC.Classes.Ord Text.ICalendar.Types.ProdId
instance GHC.Classes.Eq Text.ICalendar.Types.ProdId
instance GHC.Show.Show Text.ICalendar.Types.ProdId
instance GHC.Classes.Ord Text.ICalendar.Types.OtherParams
instance GHC.Classes.Eq Text.ICalendar.Types.OtherParams
instance GHC.Show.Show Text.ICalendar.Types.OtherParams
instance GHC.Classes.Ord Text.ICalendar.Types.OtherParam
instance GHC.Classes.Eq Text.ICalendar.Types.OtherParam
instance GHC.Show.Show Text.ICalendar.Types.OtherParam
instance GHC.Classes.Ord Text.ICalendar.Types.Language
instance GHC.Show.Show Text.ICalendar.Types.Language
instance GHC.Classes.Eq Text.ICalendar.Types.Language
instance Data.Default.Class.Default Text.ICalendar.Types.VCalendar
instance GHC.Base.Semigroup Text.ICalendar.Types.VCalendar
instance GHC.Base.Monoid Text.ICalendar.Types.VCalendar
instance Data.Default.Class.Default Text.ICalendar.Types.Sequence
instance Data.Default.Class.Default Text.ICalendar.Types.AlarmTriggerRelationship
instance Data.Default.Class.Default Text.ICalendar.Types.Repeat
instance Data.Default.Class.Default Text.ICalendar.Types.RelationshipType
instance Data.Default.Class.Default Text.ICalendar.Types.PartStat
instance Data.Default.Class.Default Text.ICalendar.Types.Role
instance Data.Default.Class.Default Text.ICalendar.Types.CUType
instance Data.Default.Class.Default Text.ICalendar.Types.TimeTransparency
instance Data.Default.Class.Default Text.ICalendar.Types.FBType
instance Data.Default.Class.Default Text.ICalendar.Types.Sign
instance Data.Default.Class.Default Text.ICalendar.Types.Priority
instance Data.Default.Class.Default Text.ICalendar.Types.Class
instance Data.Default.Class.Default Text.ICalendar.Types.ClassValue
instance Data.Default.Class.Default Text.ICalendar.Types.Scale
instance Data.Default.Class.Default Text.ICalendar.Types.OtherParams

module Text.ICalendar.Printer

-- | Functions for encoding into bytestring builders.
data EncodingFunctions
EncodingFunctions :: (Char -> Builder) -> (Char -> Int) -> EncodingFunctions
[efChar2Bu] :: EncodingFunctions -> Char -> Builder

-- | How many octets the character is encoded.
[efChar2Len] :: EncodingFunctions -> Char -> Int

-- | Print a VCalendar object to a ByteString.
printICalendar :: EncodingFunctions -> VCalendar -> ByteString

-- | Deprecated synonym for printICalendar

-- | <i>Deprecated: Use printICalendar instead</i>
printICal :: EncodingFunctions -> VCalendar -> ByteString
instance GHC.Show.Show Text.ICalendar.Printer.Quoting
instance GHC.Classes.Ord Text.ICalendar.Printer.Quoting
instance GHC.Classes.Eq Text.ICalendar.Printer.Quoting
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.FreeBusy
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Completed
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.DurationProp
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.DTEnd
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Due
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.DTStamp
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.DTStart
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Class
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.EventStatus
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.TodoStatus
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.JournalStatus
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.TimeTransparency
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.RecurrenceId
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.RRule
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Attachment
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Attendee
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.ExDate
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.RDate
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Trigger
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.ICalVersion
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.Recur
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.TimeTransparency
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.DTEnd
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.Due
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.EventStatus
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.TodoStatus
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.JournalStatus
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.ClassValue
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.Weekday
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.Date
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.DateTime
instance Text.ICalendar.Printer.IsValue (Data.Either.Either Text.ICalendar.Types.Date Text.ICalendar.Types.DateTime)
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.DTStamp
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.DTStart
instance Text.ICalendar.Printer.IsValue Network.URI.URI
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.Duration
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.RecurrenceId
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.Period
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.UTCPeriod
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.RDate
instance Text.ICalendar.Printer.IsValue Text.ICalendar.Types.Attachment
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Description
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Location
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Organizer
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Summary
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Categories
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Comment
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Contact
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.RequestStatus
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.RelatedTo
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Resources
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.OtherProperty
instance Text.ICalendar.Printer.ToParam a => Text.ICalendar.Printer.ToParam (GHC.Maybe.Maybe a)
instance Text.ICalendar.Printer.ToParam a => Text.ICalendar.Printer.ToParam (Data.Set.Internal.Set a)
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.ExDate
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Printer.AltRep
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Printer.SentBy
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Printer.Dir
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.DateTime
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.DTEnd
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.Due
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Printer.CN
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.DTStart
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.RDate
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.Period
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.DTStamp
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.OtherParams
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.Language
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.TZName
instance Text.ICalendar.Printer.ToParam x => Text.ICalendar.Printer.ToParam [x]
instance Text.ICalendar.Printer.ToParam (Data.Text.Internal.Lazy.Text, [(Text.ICalendar.Printer.Quoting, Data.Text.Internal.Lazy.Text)])
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.RecurrenceId
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.Range
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.FBType
instance Text.ICalendar.Printer.ToParam Codec.MIME.Type.MIMEType
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.Attachment
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.CUType
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Printer.Member
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.Role
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.PartStat
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.RelationshipType
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Printer.RSVP
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Printer.DelTo
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Printer.DelFrom
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.Attendee
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.AlarmTriggerRelationship
instance Text.ICalendar.Printer.ToParam Text.ICalendar.Types.Trigger
instance Text.ICalendar.Printer.IsProperty a => Text.ICalendar.Printer.IsProperty (Data.Set.Internal.Set a)
instance Text.ICalendar.Printer.IsProperty a => Text.ICalendar.Printer.IsProperty (GHC.Maybe.Maybe a)
instance (Text.ICalendar.Printer.IsProperty a, Text.ICalendar.Printer.IsProperty b) => Text.ICalendar.Printer.IsProperty (Data.Either.Either a b)
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.PercentComplete
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Repeat
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.UID
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Created
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Geo
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.LastModified
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Priority
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.Sequence
instance Text.ICalendar.Printer.IsProperty Text.ICalendar.Types.URL
instance Data.Default.Class.Default Text.ICalendar.Printer.EncodingFunctions

module Text.ICalendar.Parser

-- | Parse a ByteString containing iCalendar data.
--   
--   Returns either an error, or a tuple of the result and a list of
--   warnings.
parseICalendar :: DecodingFunctions -> FilePath -> ByteString -> Either String ([VCalendar], [String])

-- | Parse an iCalendar file.
parseICalendarFile :: DecodingFunctions -> FilePath -> IO (Either String ([VCalendar], [String]))

-- | Deprecated synonym for parseICalendar

-- | <i>Deprecated: Use parseICalendar instead</i>
parseICal :: DecodingFunctions -> FilePath -> ByteString -> Either String ([VCalendar], [String])

-- | Deprecated synonym for parseICalendarFile

-- | <i>Deprecated: Use parseICalendarFile instead</i>
parseICalFile :: DecodingFunctions -> FilePath -> IO (Either String ([VCalendar], [String]))

-- | Functions for decoding <a>ByteString</a>s into <a>Text</a>.
data DecodingFunctions
DecodingFunctions :: (ByteString -> Text) -> (ByteString -> CI Text) -> DecodingFunctions
[dfBS2Text] :: DecodingFunctions -> ByteString -> Text
[dfBS2IText] :: DecodingFunctions -> ByteString -> CI Text

module Text.ICalendar
