declare namespace namespace.enums { type AppSortBy = 'name' | 'created_at' | 'updated_at' | 'competition_status'; type CompetitionStatus = 'pending' | 'active' | 'closed'; type SortOrder = 'asc' | 'desc'; type VoteType = 'basic' | 'premium'; } declare namespace namespace.models { interface Competition { readonly 'guid': string; readonly 'name': string; readonly 'status': namespace.enums.CompetitionStatus; readonly 'start_at': string; readonly 'end_at': string; readonly 'created_at': string; readonly 'updated_at': string; } interface CompetitionParticipant { readonly 'guid': string; readonly 'competition_id': string; readonly 'competitor_id': string; } interface Competitor { readonly 'guid': string; readonly 'name': string; } interface Vote { readonly 'guid': string; readonly 'competition_participant_id': string; readonly 'voter_id': string; readonly 'type': string; readonly 'points': number; } interface Voter { readonly 'guid': string; readonly 'name': string; readonly 'asdf': string; } }