import { Field } from './field'; import { Place } from './place'; import { Poule } from './poule'; import { Referee } from './referee'; import { CompetitionSport } from './competition/sport'; import { ScoreConfig } from './score/config'; import { Round } from './qualify/group'; import { Identifiable } from './identifiable'; import { AgainstGamePlace } from './game/place/against'; import { TogetherGamePlace } from './game/place/together'; import { Competition } from './competition'; import { PlanningConfig } from './planning/config'; import { GameState } from './game/state'; import { StartLocationMap } from './competitor/startLocation/map'; export declare abstract class Game extends Identifiable { protected poule: Poule; protected batchNr: number; protected startDateTime: Date; protected competitionSport: CompetitionSport; protected field: Field | undefined; protected referee: Referee | undefined; protected refereePlace: Place | undefined; protected state: GameState; protected places: (AgainstGamePlace | TogetherGamePlace)[]; constructor(poule: Poule, batchNr: number, startDateTime: Date, competitionSport: CompetitionSport); getPoule(): Poule; getBatchNr(): number; getField(): Field | undefined; setField(field: Field | undefined): void; getReferee(): Referee | undefined; setRefereePlace(refereePlace: Place | undefined): void; getRefereePlace(): Place | undefined; setReferee(referee: Referee | undefined): void; getStartDateTime(): Date; setStartDateTime(startDateTime: Date): void; getState(): GameState; setState(state: GameState): void; getRound(): Round; getCompetition(): Competition; getCompetitionSport(): CompetitionSport; getScoreConfig(): ScoreConfig; getPlanningConfig(): PlanningConfig; getPlaces(): (AgainstGamePlace | TogetherGamePlace)[]; hasCompetitor(startLocationMap: StartLocationMap): boolean; }