export type Adventure = { readonly guid: string readonly name: string readonly description?: string readonly location?: string readonly participants?: readonly Participant[] readonly pack_lists?: readonly Item[] } export type Error = { readonly code: string readonly message: string } export type Guest = { readonly email?: string readonly name?: string } export type Item = { readonly name: string readonly size?: number readonly description?: string readonly type?: ItemType } export type Participant = { readonly person: Guest | User readonly items?: readonly Item[] } export type User = { readonly guid: string readonly email?: string readonly name?: string } export type ItemType = 'Food' | 'Clothes' | 'Camp' | 'Utensils' | 'Gear' export type JSONValue = | string | number | boolean | { readonly [x: string]: JSONValue } | readonly JSONValue[]