@xcpcio/core 0.64.5 → 0.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { CalculationOfPenalty, TimeUnit, Lang, StatusTimeDisplay, MedalPreset, Image, BannerMode, ContestState, Contest as Contest$1, SubmissionReaction, SubmissionStatus, Submission as Submission$1, Submissions as Submissions$1, BalloonColor, Problem as Problem$1, Problems as Problems$1, Team as Team$1, Teams as Teams$1, ContestIndex as ContestIndex$1, IPerson, IRatingHistory, IRatingUser, IRating } from '@xcpcio/types';
1
+ import { Lang, I18NStringSet, Text, CalculationOfPenalty, TimeUnit, StatusTimeDisplay, MedalPreset, Image, BannerMode, ContestState, Contest as Contest$1, SubmissionReaction, SubmissionStatus, Submission as Submission$1, Submissions as Submissions$1, BalloonColor, Problem as Problem$1, Problems as Problems$1, Person as Person$1, Persons as Persons$1, Team as Team$1, Teams as Teams$1, ContestIndex as ContestIndex$1, IRatingHistory, IRatingUser, IRating } from '@xcpcio/types';
2
2
  import dayjs from 'dayjs';
3
3
  export { default as dayjs } from 'dayjs';
4
4
  import * as XLSX from 'xlsx-js-style';
@@ -19,6 +19,24 @@ declare class Award {
19
19
  declare function isValidMedalType(medal: MedalType): boolean;
20
20
  type Awards = Map<string, Award[]>;
21
21
 
22
+ interface SelectOptionItem {
23
+ value: string;
24
+ text: string;
25
+ }
26
+ declare class I18nText {
27
+ texts: Map<Lang, string>;
28
+ fallback?: string;
29
+ fallbackLang?: Lang;
30
+ constructor();
31
+ get(lang: Lang): string | undefined;
32
+ getOrDefault(lang?: Lang): string;
33
+ set(lang: Lang, text: string): void;
34
+ has(lang: Lang): boolean;
35
+ static fromI18NStringSet(stringSet: I18NStringSet): I18nText;
36
+ static fromIText(text: Text): I18nText;
37
+ toI18NStringSet(): I18NStringSet;
38
+ }
39
+
22
40
  declare class ContestOptions {
23
41
  calculationOfPenalty: CalculationOfPenalty;
24
42
  submissionTimestampUnit: TimeUnit;
@@ -31,8 +49,7 @@ declare class ContestOptions {
31
49
  }
32
50
 
33
51
  declare class Group {
34
- names: Map<Lang, string>;
35
- defaultLang: Lang;
52
+ name: I18nText;
36
53
  isDefault: boolean;
37
54
  constructor();
38
55
  }
@@ -48,7 +65,7 @@ declare function getTimeDiff(seconds: number): string;
48
65
 
49
66
  declare class Contest {
50
67
  id: string;
51
- name: string;
68
+ name: I18nText;
52
69
  startTime: dayjs.Dayjs;
53
70
  endTime: dayjs.Dayjs;
54
71
  freezeTime: dayjs.Dayjs;
@@ -65,9 +82,9 @@ declare class Contest {
65
82
  problemsMap: Map<string, Problem>;
66
83
  statusTimeDisplay: StatusTimeDisplay;
67
84
  badge?: string;
85
+ organization?: string;
68
86
  medal?: Record<string, Record<string, number>> | MedalPreset;
69
87
  awards?: Awards;
70
- organization?: string;
71
88
  group: Map<string, Group>;
72
89
  tag: Map<string, string>;
73
90
  logo?: Image;
@@ -137,7 +154,7 @@ declare class ProblemStatistics {
137
154
  declare class Problem {
138
155
  id: string;
139
156
  label: string;
140
- name: string;
157
+ name?: I18nText;
141
158
  timeLimit?: string;
142
159
  memoryLimit?: string;
143
160
  balloonColor: BalloonColor;
@@ -174,6 +191,17 @@ declare class TeamProblemStatistics {
174
191
  get penaltyInSecond(): number;
175
192
  }
176
193
 
194
+ declare class Person {
195
+ name: I18nText;
196
+ cfID?: string;
197
+ icpcID?: string;
198
+ constructor(name?: I18nText);
199
+ toIPerson(): Person$1;
200
+ static fromIPerson(iPerson: Person$1): Person;
201
+ }
202
+ type Persons = Array<Person>;
203
+ declare function createPersons(iPersons?: Text | Array<Text> | Persons$1): Persons;
204
+
177
205
  declare class PlaceChartPointData {
178
206
  timePoint: number;
179
207
  rank: number;
@@ -182,13 +210,13 @@ declare class PlaceChartPointData {
182
210
  }
183
211
  declare class Team {
184
212
  id: string;
185
- name: string;
213
+ name: I18nText;
186
214
  organization: string;
187
215
  badge?: Image;
188
216
  group: Array<string>;
189
217
  tag: Array<string>;
190
- coach?: string | Array<string>;
191
- members?: string | Array<string>;
218
+ coaches: Persons;
219
+ members: Persons;
192
220
  rank: number;
193
221
  originalRank: number;
194
222
  organizationRank: number;
@@ -210,10 +238,10 @@ declare class Team {
210
238
  get penaltyToMinute(): number;
211
239
  get isUnofficial(): boolean;
212
240
  get isGirl(): boolean;
213
- get membersToArray(): string[];
214
- get membersToString(): string | undefined;
215
241
  get isEffectiveTeam(): boolean;
216
242
  get dirt(): number;
243
+ membersToString(lang?: Lang): string;
244
+ coachesToString(lang?: Lang): string;
217
245
  calcSE(totalTeams: number): number;
218
246
  calcSolvedData(options: ContestOptions): void;
219
247
  calcAwards(awards?: Award[]): void;
@@ -235,11 +263,6 @@ declare class Balloon {
235
263
  }
236
264
  type Balloons = Array<Balloon>;
237
265
 
238
- interface SelectOptionItem {
239
- value: string;
240
- text: string;
241
- }
242
-
243
266
  declare enum GiantsType {
244
267
  BLUE = 0,
245
268
  RED = 1
@@ -279,7 +302,7 @@ declare class BattleOfGiants {
279
302
  }
280
303
 
281
304
  declare class ContestIndexConfig {
282
- contestName: string;
305
+ contestName: I18nText;
283
306
  startTime: dayjs.Dayjs;
284
307
  endTime: dayjs.Dayjs;
285
308
  freezeTime: dayjs.Dayjs;
@@ -380,24 +403,15 @@ declare class ICPCStandingsCsvConverter {
380
403
 
381
404
  declare function getImageSource(image: Image, asset_host?: string): string;
382
405
 
383
- declare class Person {
384
- name: string;
385
- constructor(name?: string);
386
- toJSON(): IPerson;
387
- static fromJSON(iPerson: IPerson | string): Person;
388
- }
389
- type Persons = Array<Person>;
390
- declare function createPersons(iPersons: string | Array<string>): Persons;
391
-
392
406
  declare class RatingHistory {
393
407
  rank: number;
394
408
  rating: number;
395
- teamName: string;
409
+ teamName: I18nText;
396
410
  organization: string;
397
411
  members: Persons;
398
412
  coaches: Persons;
399
413
  contestID: string;
400
- contestName: string;
414
+ contestName: I18nText;
401
415
  contestLink: string;
402
416
  contestTime: dayjs.Dayjs;
403
417
  constructor();
@@ -408,7 +422,7 @@ type RatingHistories = Array<RatingHistory>;
408
422
 
409
423
  declare class RatingUser {
410
424
  id: string;
411
- name: string;
425
+ name: I18nText;
412
426
  organization: string;
413
427
  members: Persons;
414
428
  coaches: Persons;
@@ -430,7 +444,7 @@ type RatingUserMap = Map<string, RatingUser>;
430
444
 
431
445
  declare class Rating {
432
446
  id: string;
433
- name: string;
447
+ name: I18nText;
434
448
  baseRating: number;
435
449
  contestIDs: string[];
436
450
  users: RatingUsers;
@@ -518,5 +532,5 @@ declare function isRejected(status: SubmissionStatus): boolean;
518
532
  declare function isPending(status: SubmissionStatus): boolean;
519
533
  declare function isNotCalculatedPenaltyStatus(status: SubmissionStatus): boolean;
520
534
 
521
- export { Award, Balloon, BattleOfGiants, CodeforcesGymGhostDATConverter, Contest, ContestIndex, ContestIndexConfig, ContestOptions, GeneralExcelConverter, Giants, GiantsType, ICPCStandingsCsvConverter, MedalType, Person, PlaceChartPointData, Problem, ProblemStatistics, Rank, RankOptions, RankStatistics, Rating, RatingCalculator, RatingHistory, RatingLevel, RatingLevelToString, RatingUser, RatingUtility, Resolver, ResolverVue, Submission, Team, TeamProblemStatistics, calcDirt, createContest, createContestIndex, createContestIndexList, createDayJS, createPersons, createProblem, createProblems, createProblemsByProblemIds, createSubmission, createSubmissions, createTeam, createTeams, getImageSource, getTimeDiff, getTimestamp, getWhiteOrBlackColor, getWhiteOrBlackColorV1, isAccepted, isNotCalculatedPenaltyStatus, isPending, isRejected, isValidMedalType, stringToSubmissionStatus };
535
+ export { Award, Balloon, BattleOfGiants, CodeforcesGymGhostDATConverter, Contest, ContestIndex, ContestIndexConfig, ContestOptions, GeneralExcelConverter, Giants, GiantsType, I18nText, ICPCStandingsCsvConverter, MedalType, Person, PlaceChartPointData, Problem, ProblemStatistics, Rank, RankOptions, RankStatistics, Rating, RatingCalculator, RatingHistory, RatingLevel, RatingLevelToString, RatingUser, RatingUtility, Resolver, ResolverVue, Submission, Team, TeamProblemStatistics, calcDirt, createContest, createContestIndex, createContestIndexList, createDayJS, createPersons, createProblem, createProblems, createProblemsByProblemIds, createSubmission, createSubmissions, createTeam, createTeams, getImageSource, getTimeDiff, getTimestamp, getWhiteOrBlackColor, getWhiteOrBlackColorV1, isAccepted, isNotCalculatedPenaltyStatus, isPending, isRejected, isValidMedalType, stringToSubmissionStatus };
522
536
  export type { Awards, Balloons, ContestIndexList, Persons, Problems, Ranks, RatingHistories, RatingUserMap, RatingUsers, SelectOptionItem, Submissions, Teams };
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { CalculationOfPenalty, TimeUnit, Lang, StatusTimeDisplay, MedalPreset, Image, BannerMode, ContestState, Contest as Contest$1, SubmissionReaction, SubmissionStatus, Submission as Submission$1, Submissions as Submissions$1, BalloonColor, Problem as Problem$1, Problems as Problems$1, Team as Team$1, Teams as Teams$1, ContestIndex as ContestIndex$1, IPerson, IRatingHistory, IRatingUser, IRating } from '@xcpcio/types';
1
+ import { Lang, I18NStringSet, Text, CalculationOfPenalty, TimeUnit, StatusTimeDisplay, MedalPreset, Image, BannerMode, ContestState, Contest as Contest$1, SubmissionReaction, SubmissionStatus, Submission as Submission$1, Submissions as Submissions$1, BalloonColor, Problem as Problem$1, Problems as Problems$1, Person as Person$1, Persons as Persons$1, Team as Team$1, Teams as Teams$1, ContestIndex as ContestIndex$1, IRatingHistory, IRatingUser, IRating } from '@xcpcio/types';
2
2
  import dayjs from 'dayjs';
3
3
  export { default as dayjs } from 'dayjs';
4
4
  import * as XLSX from 'xlsx-js-style';
@@ -19,6 +19,24 @@ declare class Award {
19
19
  declare function isValidMedalType(medal: MedalType): boolean;
20
20
  type Awards = Map<string, Award[]>;
21
21
 
22
+ interface SelectOptionItem {
23
+ value: string;
24
+ text: string;
25
+ }
26
+ declare class I18nText {
27
+ texts: Map<Lang, string>;
28
+ fallback?: string;
29
+ fallbackLang?: Lang;
30
+ constructor();
31
+ get(lang: Lang): string | undefined;
32
+ getOrDefault(lang?: Lang): string;
33
+ set(lang: Lang, text: string): void;
34
+ has(lang: Lang): boolean;
35
+ static fromI18NStringSet(stringSet: I18NStringSet): I18nText;
36
+ static fromIText(text: Text): I18nText;
37
+ toI18NStringSet(): I18NStringSet;
38
+ }
39
+
22
40
  declare class ContestOptions {
23
41
  calculationOfPenalty: CalculationOfPenalty;
24
42
  submissionTimestampUnit: TimeUnit;
@@ -31,8 +49,7 @@ declare class ContestOptions {
31
49
  }
32
50
 
33
51
  declare class Group {
34
- names: Map<Lang, string>;
35
- defaultLang: Lang;
52
+ name: I18nText;
36
53
  isDefault: boolean;
37
54
  constructor();
38
55
  }
@@ -48,7 +65,7 @@ declare function getTimeDiff(seconds: number): string;
48
65
 
49
66
  declare class Contest {
50
67
  id: string;
51
- name: string;
68
+ name: I18nText;
52
69
  startTime: dayjs.Dayjs;
53
70
  endTime: dayjs.Dayjs;
54
71
  freezeTime: dayjs.Dayjs;
@@ -65,9 +82,9 @@ declare class Contest {
65
82
  problemsMap: Map<string, Problem>;
66
83
  statusTimeDisplay: StatusTimeDisplay;
67
84
  badge?: string;
85
+ organization?: string;
68
86
  medal?: Record<string, Record<string, number>> | MedalPreset;
69
87
  awards?: Awards;
70
- organization?: string;
71
88
  group: Map<string, Group>;
72
89
  tag: Map<string, string>;
73
90
  logo?: Image;
@@ -137,7 +154,7 @@ declare class ProblemStatistics {
137
154
  declare class Problem {
138
155
  id: string;
139
156
  label: string;
140
- name: string;
157
+ name?: I18nText;
141
158
  timeLimit?: string;
142
159
  memoryLimit?: string;
143
160
  balloonColor: BalloonColor;
@@ -174,6 +191,17 @@ declare class TeamProblemStatistics {
174
191
  get penaltyInSecond(): number;
175
192
  }
176
193
 
194
+ declare class Person {
195
+ name: I18nText;
196
+ cfID?: string;
197
+ icpcID?: string;
198
+ constructor(name?: I18nText);
199
+ toIPerson(): Person$1;
200
+ static fromIPerson(iPerson: Person$1): Person;
201
+ }
202
+ type Persons = Array<Person>;
203
+ declare function createPersons(iPersons?: Text | Array<Text> | Persons$1): Persons;
204
+
177
205
  declare class PlaceChartPointData {
178
206
  timePoint: number;
179
207
  rank: number;
@@ -182,13 +210,13 @@ declare class PlaceChartPointData {
182
210
  }
183
211
  declare class Team {
184
212
  id: string;
185
- name: string;
213
+ name: I18nText;
186
214
  organization: string;
187
215
  badge?: Image;
188
216
  group: Array<string>;
189
217
  tag: Array<string>;
190
- coach?: string | Array<string>;
191
- members?: string | Array<string>;
218
+ coaches: Persons;
219
+ members: Persons;
192
220
  rank: number;
193
221
  originalRank: number;
194
222
  organizationRank: number;
@@ -210,10 +238,10 @@ declare class Team {
210
238
  get penaltyToMinute(): number;
211
239
  get isUnofficial(): boolean;
212
240
  get isGirl(): boolean;
213
- get membersToArray(): string[];
214
- get membersToString(): string | undefined;
215
241
  get isEffectiveTeam(): boolean;
216
242
  get dirt(): number;
243
+ membersToString(lang?: Lang): string;
244
+ coachesToString(lang?: Lang): string;
217
245
  calcSE(totalTeams: number): number;
218
246
  calcSolvedData(options: ContestOptions): void;
219
247
  calcAwards(awards?: Award[]): void;
@@ -235,11 +263,6 @@ declare class Balloon {
235
263
  }
236
264
  type Balloons = Array<Balloon>;
237
265
 
238
- interface SelectOptionItem {
239
- value: string;
240
- text: string;
241
- }
242
-
243
266
  declare enum GiantsType {
244
267
  BLUE = 0,
245
268
  RED = 1
@@ -279,7 +302,7 @@ declare class BattleOfGiants {
279
302
  }
280
303
 
281
304
  declare class ContestIndexConfig {
282
- contestName: string;
305
+ contestName: I18nText;
283
306
  startTime: dayjs.Dayjs;
284
307
  endTime: dayjs.Dayjs;
285
308
  freezeTime: dayjs.Dayjs;
@@ -380,24 +403,15 @@ declare class ICPCStandingsCsvConverter {
380
403
 
381
404
  declare function getImageSource(image: Image, asset_host?: string): string;
382
405
 
383
- declare class Person {
384
- name: string;
385
- constructor(name?: string);
386
- toJSON(): IPerson;
387
- static fromJSON(iPerson: IPerson | string): Person;
388
- }
389
- type Persons = Array<Person>;
390
- declare function createPersons(iPersons: string | Array<string>): Persons;
391
-
392
406
  declare class RatingHistory {
393
407
  rank: number;
394
408
  rating: number;
395
- teamName: string;
409
+ teamName: I18nText;
396
410
  organization: string;
397
411
  members: Persons;
398
412
  coaches: Persons;
399
413
  contestID: string;
400
- contestName: string;
414
+ contestName: I18nText;
401
415
  contestLink: string;
402
416
  contestTime: dayjs.Dayjs;
403
417
  constructor();
@@ -408,7 +422,7 @@ type RatingHistories = Array<RatingHistory>;
408
422
 
409
423
  declare class RatingUser {
410
424
  id: string;
411
- name: string;
425
+ name: I18nText;
412
426
  organization: string;
413
427
  members: Persons;
414
428
  coaches: Persons;
@@ -430,7 +444,7 @@ type RatingUserMap = Map<string, RatingUser>;
430
444
 
431
445
  declare class Rating {
432
446
  id: string;
433
- name: string;
447
+ name: I18nText;
434
448
  baseRating: number;
435
449
  contestIDs: string[];
436
450
  users: RatingUsers;
@@ -518,5 +532,5 @@ declare function isRejected(status: SubmissionStatus): boolean;
518
532
  declare function isPending(status: SubmissionStatus): boolean;
519
533
  declare function isNotCalculatedPenaltyStatus(status: SubmissionStatus): boolean;
520
534
 
521
- export { Award, Balloon, BattleOfGiants, CodeforcesGymGhostDATConverter, Contest, ContestIndex, ContestIndexConfig, ContestOptions, GeneralExcelConverter, Giants, GiantsType, ICPCStandingsCsvConverter, MedalType, Person, PlaceChartPointData, Problem, ProblemStatistics, Rank, RankOptions, RankStatistics, Rating, RatingCalculator, RatingHistory, RatingLevel, RatingLevelToString, RatingUser, RatingUtility, Resolver, ResolverVue, Submission, Team, TeamProblemStatistics, calcDirt, createContest, createContestIndex, createContestIndexList, createDayJS, createPersons, createProblem, createProblems, createProblemsByProblemIds, createSubmission, createSubmissions, createTeam, createTeams, getImageSource, getTimeDiff, getTimestamp, getWhiteOrBlackColor, getWhiteOrBlackColorV1, isAccepted, isNotCalculatedPenaltyStatus, isPending, isRejected, isValidMedalType, stringToSubmissionStatus };
535
+ export { Award, Balloon, BattleOfGiants, CodeforcesGymGhostDATConverter, Contest, ContestIndex, ContestIndexConfig, ContestOptions, GeneralExcelConverter, Giants, GiantsType, I18nText, ICPCStandingsCsvConverter, MedalType, Person, PlaceChartPointData, Problem, ProblemStatistics, Rank, RankOptions, RankStatistics, Rating, RatingCalculator, RatingHistory, RatingLevel, RatingLevelToString, RatingUser, RatingUtility, Resolver, ResolverVue, Submission, Team, TeamProblemStatistics, calcDirt, createContest, createContestIndex, createContestIndexList, createDayJS, createPersons, createProblem, createProblems, createProblemsByProblemIds, createSubmission, createSubmissions, createTeam, createTeams, getImageSource, getTimeDiff, getTimestamp, getWhiteOrBlackColor, getWhiteOrBlackColorV1, isAccepted, isNotCalculatedPenaltyStatus, isPending, isRejected, isValidMedalType, stringToSubmissionStatus };
522
536
  export type { Awards, Balloons, ContestIndexList, Persons, Problems, Ranks, RatingHistories, RatingUserMap, RatingUsers, SelectOptionItem, Submissions, Teams };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { CalculationOfPenalty, TimeUnit, Lang, StatusTimeDisplay, MedalPreset, Image, BannerMode, ContestState, Contest as Contest$1, SubmissionReaction, SubmissionStatus, Submission as Submission$1, Submissions as Submissions$1, BalloonColor, Problem as Problem$1, Problems as Problems$1, Team as Team$1, Teams as Teams$1, ContestIndex as ContestIndex$1, IPerson, IRatingHistory, IRatingUser, IRating } from '@xcpcio/types';
1
+ import { Lang, I18NStringSet, Text, CalculationOfPenalty, TimeUnit, StatusTimeDisplay, MedalPreset, Image, BannerMode, ContestState, Contest as Contest$1, SubmissionReaction, SubmissionStatus, Submission as Submission$1, Submissions as Submissions$1, BalloonColor, Problem as Problem$1, Problems as Problems$1, Person as Person$1, Persons as Persons$1, Team as Team$1, Teams as Teams$1, ContestIndex as ContestIndex$1, IRatingHistory, IRatingUser, IRating } from '@xcpcio/types';
2
2
  import dayjs from 'dayjs';
3
3
  export { default as dayjs } from 'dayjs';
4
4
  import * as XLSX from 'xlsx-js-style';
@@ -19,6 +19,24 @@ declare class Award {
19
19
  declare function isValidMedalType(medal: MedalType): boolean;
20
20
  type Awards = Map<string, Award[]>;
21
21
 
22
+ interface SelectOptionItem {
23
+ value: string;
24
+ text: string;
25
+ }
26
+ declare class I18nText {
27
+ texts: Map<Lang, string>;
28
+ fallback?: string;
29
+ fallbackLang?: Lang;
30
+ constructor();
31
+ get(lang: Lang): string | undefined;
32
+ getOrDefault(lang?: Lang): string;
33
+ set(lang: Lang, text: string): void;
34
+ has(lang: Lang): boolean;
35
+ static fromI18NStringSet(stringSet: I18NStringSet): I18nText;
36
+ static fromIText(text: Text): I18nText;
37
+ toI18NStringSet(): I18NStringSet;
38
+ }
39
+
22
40
  declare class ContestOptions {
23
41
  calculationOfPenalty: CalculationOfPenalty;
24
42
  submissionTimestampUnit: TimeUnit;
@@ -31,8 +49,7 @@ declare class ContestOptions {
31
49
  }
32
50
 
33
51
  declare class Group {
34
- names: Map<Lang, string>;
35
- defaultLang: Lang;
52
+ name: I18nText;
36
53
  isDefault: boolean;
37
54
  constructor();
38
55
  }
@@ -48,7 +65,7 @@ declare function getTimeDiff(seconds: number): string;
48
65
 
49
66
  declare class Contest {
50
67
  id: string;
51
- name: string;
68
+ name: I18nText;
52
69
  startTime: dayjs.Dayjs;
53
70
  endTime: dayjs.Dayjs;
54
71
  freezeTime: dayjs.Dayjs;
@@ -65,9 +82,9 @@ declare class Contest {
65
82
  problemsMap: Map<string, Problem>;
66
83
  statusTimeDisplay: StatusTimeDisplay;
67
84
  badge?: string;
85
+ organization?: string;
68
86
  medal?: Record<string, Record<string, number>> | MedalPreset;
69
87
  awards?: Awards;
70
- organization?: string;
71
88
  group: Map<string, Group>;
72
89
  tag: Map<string, string>;
73
90
  logo?: Image;
@@ -137,7 +154,7 @@ declare class ProblemStatistics {
137
154
  declare class Problem {
138
155
  id: string;
139
156
  label: string;
140
- name: string;
157
+ name?: I18nText;
141
158
  timeLimit?: string;
142
159
  memoryLimit?: string;
143
160
  balloonColor: BalloonColor;
@@ -174,6 +191,17 @@ declare class TeamProblemStatistics {
174
191
  get penaltyInSecond(): number;
175
192
  }
176
193
 
194
+ declare class Person {
195
+ name: I18nText;
196
+ cfID?: string;
197
+ icpcID?: string;
198
+ constructor(name?: I18nText);
199
+ toIPerson(): Person$1;
200
+ static fromIPerson(iPerson: Person$1): Person;
201
+ }
202
+ type Persons = Array<Person>;
203
+ declare function createPersons(iPersons?: Text | Array<Text> | Persons$1): Persons;
204
+
177
205
  declare class PlaceChartPointData {
178
206
  timePoint: number;
179
207
  rank: number;
@@ -182,13 +210,13 @@ declare class PlaceChartPointData {
182
210
  }
183
211
  declare class Team {
184
212
  id: string;
185
- name: string;
213
+ name: I18nText;
186
214
  organization: string;
187
215
  badge?: Image;
188
216
  group: Array<string>;
189
217
  tag: Array<string>;
190
- coach?: string | Array<string>;
191
- members?: string | Array<string>;
218
+ coaches: Persons;
219
+ members: Persons;
192
220
  rank: number;
193
221
  originalRank: number;
194
222
  organizationRank: number;
@@ -210,10 +238,10 @@ declare class Team {
210
238
  get penaltyToMinute(): number;
211
239
  get isUnofficial(): boolean;
212
240
  get isGirl(): boolean;
213
- get membersToArray(): string[];
214
- get membersToString(): string | undefined;
215
241
  get isEffectiveTeam(): boolean;
216
242
  get dirt(): number;
243
+ membersToString(lang?: Lang): string;
244
+ coachesToString(lang?: Lang): string;
217
245
  calcSE(totalTeams: number): number;
218
246
  calcSolvedData(options: ContestOptions): void;
219
247
  calcAwards(awards?: Award[]): void;
@@ -235,11 +263,6 @@ declare class Balloon {
235
263
  }
236
264
  type Balloons = Array<Balloon>;
237
265
 
238
- interface SelectOptionItem {
239
- value: string;
240
- text: string;
241
- }
242
-
243
266
  declare enum GiantsType {
244
267
  BLUE = 0,
245
268
  RED = 1
@@ -279,7 +302,7 @@ declare class BattleOfGiants {
279
302
  }
280
303
 
281
304
  declare class ContestIndexConfig {
282
- contestName: string;
305
+ contestName: I18nText;
283
306
  startTime: dayjs.Dayjs;
284
307
  endTime: dayjs.Dayjs;
285
308
  freezeTime: dayjs.Dayjs;
@@ -380,24 +403,15 @@ declare class ICPCStandingsCsvConverter {
380
403
 
381
404
  declare function getImageSource(image: Image, asset_host?: string): string;
382
405
 
383
- declare class Person {
384
- name: string;
385
- constructor(name?: string);
386
- toJSON(): IPerson;
387
- static fromJSON(iPerson: IPerson | string): Person;
388
- }
389
- type Persons = Array<Person>;
390
- declare function createPersons(iPersons: string | Array<string>): Persons;
391
-
392
406
  declare class RatingHistory {
393
407
  rank: number;
394
408
  rating: number;
395
- teamName: string;
409
+ teamName: I18nText;
396
410
  organization: string;
397
411
  members: Persons;
398
412
  coaches: Persons;
399
413
  contestID: string;
400
- contestName: string;
414
+ contestName: I18nText;
401
415
  contestLink: string;
402
416
  contestTime: dayjs.Dayjs;
403
417
  constructor();
@@ -408,7 +422,7 @@ type RatingHistories = Array<RatingHistory>;
408
422
 
409
423
  declare class RatingUser {
410
424
  id: string;
411
- name: string;
425
+ name: I18nText;
412
426
  organization: string;
413
427
  members: Persons;
414
428
  coaches: Persons;
@@ -430,7 +444,7 @@ type RatingUserMap = Map<string, RatingUser>;
430
444
 
431
445
  declare class Rating {
432
446
  id: string;
433
- name: string;
447
+ name: I18nText;
434
448
  baseRating: number;
435
449
  contestIDs: string[];
436
450
  users: RatingUsers;
@@ -518,5 +532,5 @@ declare function isRejected(status: SubmissionStatus): boolean;
518
532
  declare function isPending(status: SubmissionStatus): boolean;
519
533
  declare function isNotCalculatedPenaltyStatus(status: SubmissionStatus): boolean;
520
534
 
521
- export { Award, Balloon, BattleOfGiants, CodeforcesGymGhostDATConverter, Contest, ContestIndex, ContestIndexConfig, ContestOptions, GeneralExcelConverter, Giants, GiantsType, ICPCStandingsCsvConverter, MedalType, Person, PlaceChartPointData, Problem, ProblemStatistics, Rank, RankOptions, RankStatistics, Rating, RatingCalculator, RatingHistory, RatingLevel, RatingLevelToString, RatingUser, RatingUtility, Resolver, ResolverVue, Submission, Team, TeamProblemStatistics, calcDirt, createContest, createContestIndex, createContestIndexList, createDayJS, createPersons, createProblem, createProblems, createProblemsByProblemIds, createSubmission, createSubmissions, createTeam, createTeams, getImageSource, getTimeDiff, getTimestamp, getWhiteOrBlackColor, getWhiteOrBlackColorV1, isAccepted, isNotCalculatedPenaltyStatus, isPending, isRejected, isValidMedalType, stringToSubmissionStatus };
535
+ export { Award, Balloon, BattleOfGiants, CodeforcesGymGhostDATConverter, Contest, ContestIndex, ContestIndexConfig, ContestOptions, GeneralExcelConverter, Giants, GiantsType, I18nText, ICPCStandingsCsvConverter, MedalType, Person, PlaceChartPointData, Problem, ProblemStatistics, Rank, RankOptions, RankStatistics, Rating, RatingCalculator, RatingHistory, RatingLevel, RatingLevelToString, RatingUser, RatingUtility, Resolver, ResolverVue, Submission, Team, TeamProblemStatistics, calcDirt, createContest, createContestIndex, createContestIndexList, createDayJS, createPersons, createProblem, createProblems, createProblemsByProblemIds, createSubmission, createSubmissions, createTeam, createTeams, getImageSource, getTimeDiff, getTimestamp, getWhiteOrBlackColor, getWhiteOrBlackColorV1, isAccepted, isNotCalculatedPenaltyStatus, isPending, isRejected, isValidMedalType, stringToSubmissionStatus };
522
536
  export type { Awards, Balloons, ContestIndexList, Persons, Problems, Ranks, RatingHistories, RatingUserMap, RatingUsers, SelectOptionItem, Submissions, Teams };