import { IPhase , IPhaseData } from './IPhase' ; import { IPhaseGroup , IPhaseGroupData } from './IPhaseGroup' ; import { IGGSet , IGGSetOptions , IGGSetData } from './IGGSet' ; import { IEntrant , IEntrantOptions , IEntrantData } from './IEntrant' ; import { IAttendee , IAttendeeOptions , IAttendeeData } from './IAttendee' ; import { IStanding , IStandingData } from './IStanding' ; export interface IEvent { getId ( ) : number ; getName ( ) : string ; getSlug ( ) : string ; getState ( ) : string | null ; getNumEntrants ( ) : number | null ; getCheckInBuffer ( ) : number | null ; getCheckInDuration ( ) : number | null ; getCheckInEnabled ( ) : boolean | null ; getIsOnline ( ) : boolean | null ; getTeamNameAllowed ( ) : boolean | null ; getTeamManagementDeadline ( ) : number | null ; getPhases ( ) : Promise < IPhase [ ] > ; getPhaseGroups ( ) : Promise < IPhaseGroup [ ] > ; getEntrants ( options ? ) : Promise < IEntrant [ ] > ; getAttendees ( options ? ) : Promise < IAttendee [ ] > ; getSets ( options ? ) : Promise < IGGSet [ ] > ; getIncompleteSets ( options ? ) : Promise < IGGSet [ ] > ; getCompleteSets ( options ? ) : Promise < IGGSet [ ] > ; getSetsXMinutesBack ( minutesBack , options ) : Promise < IGGSet [ ] > ; } export interface IEventDataFull { event : IEventData ; } export interface IEventData { id : number ; name : string ; slug : string ; state : string | null ; startAt : number | null ; numEntrants : number | null ; checkInBuffer : number | null ; checkInDuration : number | null ; checkInEnabled : boolean | null ; isOnline : boolean | null ; teamNameAllowed : boolean | null ; teamManagementDeadline : number | null ; } export interface IEventPhaseData { event : { phases : IPhaseData [ ] ; } ; } export interface IEventPhaseGroupData { event : { phaseGroups : IPhaseGroupData [ ] ; } ; } export interface IEventEntrantData { event : { entrants : { pageInfo ? : { totalPages : number ; } ; nodes : IEntrantData [ ] ; } ; } ; } export interface IEventAttendeeData { event : { tournament : { participants : { pageInfo ? : { totalPages : number ; } ; nodes : IAttendeeData [ ] ; } ; } ; } ; } export interface IEventAttendeeData2 { event : { entrants : { pageInfo ? : { totalPages : number ; } ; nodes : IAttendeeData [ ] ; } ; } ; } export interface IEventSetData { event : { phaseGroups : { paginatedSets : { pageInfo ? : { totalPages : number ; } ; nodes : IGGSetData [ ] ; } ; } ; } ; } export interface IEventStandings { event : { standings : { nodes : IStandingData [ ] ; pageInfo ? : { totalPages : number ; } ; } ; } ; }