export type Competition = { readonly guid: string readonly name?: string readonly status: CompetitionStatus readonly start_at: string readonly end_at: string readonly created_at: string readonly updated_at: string } export type CompetitionParticipant = { readonly guid: string readonly competition_id: string readonly competitor_id: string } export type Competitor = { readonly guid: string readonly name: string } export type Vote = { readonly guid: string readonly competition_participant_id: string readonly voter_id: string readonly type: string readonly points: number } export type Voter = { readonly guid: string readonly name: string } export type CompetitionStatus = 'pending' | 'active' | 'closed' export type JSONValue = | string | number | boolean | { readonly [x: string]: JSONValue } | readonly JSONValue[]