@orjok/commons 1.0.2

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.
@@ -0,0 +1,775 @@
1
+ import { N as NetworkProvider, S as StorageProvider, A as AuthProvider } from './storage-DLqdJgQt.js';
2
+
3
+ interface CreateQuestionInput {
4
+ question: string;
5
+ answer: string;
6
+ options: string;
7
+ language: string;
8
+ level: string;
9
+ difficulty: string;
10
+ type?: string;
11
+ explanation?: string;
12
+ tags?: string;
13
+ imagePayload?: string;
14
+ optionsImagesPayload?: string;
15
+ packId?: string;
16
+ order?: number;
17
+ contestId?: string;
18
+ subjectId?: string;
19
+ chapterId?: string;
20
+ topicId?: string;
21
+ extra?: string;
22
+ markingInstructions?: string;
23
+ }
24
+ interface CreatePackInput {
25
+ name: string;
26
+ level: string;
27
+ language: string;
28
+ difficulty: string;
29
+ automaticNumbering?: boolean;
30
+ subjectId?: string;
31
+ chapterId?: string;
32
+ topicId?: string;
33
+ }
34
+ interface CreateContestInput {
35
+ name: string;
36
+ description: string;
37
+ level: string;
38
+ language: string;
39
+ startTime: string;
40
+ endTime: string;
41
+ subject: string;
42
+ isRated: boolean;
43
+ questions: string;
44
+ maximumParticipants: number;
45
+ solutionVideoUrl?: string;
46
+ imageUrl?: string;
47
+ }
48
+ interface CreateCourseInput {
49
+ name: string;
50
+ description: string;
51
+ price: number;
52
+ imageUrl?: string;
53
+ }
54
+ interface CreateCourseItemInput {
55
+ id?: string;
56
+ courseId: string;
57
+ name: string;
58
+ order: number;
59
+ type?: "folder" | "video" | "file";
60
+ parentId?: string;
61
+ }
62
+ interface CreateCourseLiveExamInput {
63
+ courseId: string;
64
+ name: string;
65
+ questions: string;
66
+ startTime: string;
67
+ endTime: string;
68
+ }
69
+ interface VoteInput {
70
+ questionId: string;
71
+ type: "upvote" | "downvote";
72
+ modelType: "question" | "pack";
73
+ }
74
+ interface AddQuestionTagInput {
75
+ tags: string;
76
+ packId?: string;
77
+ questionId?: string;
78
+ }
79
+ interface TrackPracticeProgressInput {
80
+ questionId: string;
81
+ isCorrect: boolean;
82
+ subjectId?: string;
83
+ chapterId?: string;
84
+ topicId?: string;
85
+ }
86
+ interface EvaluateWrittenAnswerInput {
87
+ question: string;
88
+ userAnswer: string;
89
+ correctAnswer: string;
90
+ markingInstructions?: string;
91
+ topicId?: string;
92
+ topicName?: string;
93
+ questionImageUrl?: string;
94
+ }
95
+ interface EnrollStudentInput {
96
+ courseId: string;
97
+ userId: string;
98
+ }
99
+ interface SendEnrollmentRequestInput {
100
+ courseId: string;
101
+ name: string;
102
+ phone: string;
103
+ transactionId: string;
104
+ couponId?: string;
105
+ }
106
+ interface DeleteCourseItemInput {
107
+ id: string;
108
+ fileType: string;
109
+ courseId: string;
110
+ parentId?: string;
111
+ }
112
+ interface UploadVideoToBunnyInput {
113
+ key: string;
114
+ videoId: string;
115
+ fileType: string;
116
+ }
117
+ interface CreateCourseVideoInput {
118
+ courseId: string;
119
+ fileName: string;
120
+ fileType: string;
121
+ }
122
+ interface GetSignedURLInput {
123
+ courseId: string;
124
+ fileName: string;
125
+ fileType: string;
126
+ parentId?: string;
127
+ }
128
+ interface GetSignedFileURLInput {
129
+ courseId: string;
130
+ itemId: string;
131
+ key: string;
132
+ }
133
+ interface SubmitPackExamInput {
134
+ packId: string;
135
+ selectedOptions: string;
136
+ }
137
+ interface ListByCurriculumInput {
138
+ id: string;
139
+ limit?: number;
140
+ nextToken?: string | null;
141
+ sortDirection?: "ASC" | "DESC";
142
+ language?: string;
143
+ difficulty?: string;
144
+ }
145
+ interface ListByRandomHashInput {
146
+ id: string;
147
+ limit?: number;
148
+ sortDirection?: "ASC" | "DESC";
149
+ language?: string;
150
+ difficulty?: string;
151
+ randomHashFilter?: {
152
+ ge?: string;
153
+ le?: string;
154
+ };
155
+ }
156
+ interface UpdateUserAvatarInput {
157
+ userId: string;
158
+ avatarUrl: string;
159
+ avatarConfig: string;
160
+ }
161
+
162
+ type Tier = "FREE" | "PREMIUM";
163
+ type QuestionType = "MCQ" | "WRITTEN";
164
+ type Difficulty = "Easy" | "Medium" | "Hard";
165
+ type Level = "SSC" | "HSC" | "ENGINEERING" | "MEDICAL" | "VARSITY" | "BCS";
166
+ type Language = "Bangla" | "English";
167
+ type VoteType = "upvote" | "downvote";
168
+ type ModelType = "question" | "pack";
169
+ type VerificationType = "question" | "pack";
170
+ type CourseItemType = "folder" | "video" | "file";
171
+ type QuestionTrackingStatus = "CORRECT" | "MISTAKE" | "CORRECTED";
172
+ type PaymentStatus = "PENDING" | "SUCCESS" | "FAILED";
173
+ type SortDirection = "ASC" | "DESC";
174
+
175
+ interface PaginatedList<T> {
176
+ items: T[];
177
+ nextToken?: string | null;
178
+ }
179
+ interface User {
180
+ id: string;
181
+ fullName: string;
182
+ avatarUrl?: string | null;
183
+ avatarConfig?: string | null;
184
+ tier?: Tier | null;
185
+ subscriptionExpiresAt?: string | null;
186
+ aiEvaluationRemaining?: number | null;
187
+ questionCount?: number | null;
188
+ packCount?: number | null;
189
+ contestCount?: number | null;
190
+ EngineeringRating?: number | null;
191
+ MedicalRating?: number | null;
192
+ VarsityRating?: number | null;
193
+ BCSRating?: number | null;
194
+ sscOverallRating?: number | null;
195
+ sscPhysicsRating?: number | null;
196
+ sscChemistryRating?: number | null;
197
+ sscMathRating?: number | null;
198
+ sscBiologyRating?: number | null;
199
+ hscOverallRating?: number | null;
200
+ hscPhysicsRating?: number | null;
201
+ hscChemistryRating?: number | null;
202
+ hscMathRating?: number | null;
203
+ hscBiologyRating?: number | null;
204
+ bcsOverallRating?: number | null;
205
+ }
206
+ interface Option {
207
+ id: string;
208
+ content: string;
209
+ owner?: string | null;
210
+ questionId?: string | null;
211
+ createdAt?: string | null;
212
+ updatedAt?: string | null;
213
+ }
214
+ interface QuestionObject {
215
+ id: string;
216
+ question?: string | null;
217
+ answer?: string | null;
218
+ explanation?: string | null;
219
+ extra?: string | null;
220
+ imageUrl?: string | null;
221
+ language: string;
222
+ level: string;
223
+ difficulty?: string | null;
224
+ type?: QuestionType | null;
225
+ markingInstructions?: string | null;
226
+ owner: string;
227
+ packId?: string | null;
228
+ subjectId?: string | null;
229
+ chapterId?: string | null;
230
+ topicId?: string | null;
231
+ order?: number | null;
232
+ voteCount: number;
233
+ verificationStatus?: boolean | null;
234
+ randomHash?: number | null;
235
+ language_difficulty_createdAt?: string | null;
236
+ language_difficulty_randomHash?: string | null;
237
+ createdAt?: string | null;
238
+ updatedAt?: string | null;
239
+ options?: PaginatedList<Option> | null;
240
+ tags?: PaginatedList<QuestionTag> | null;
241
+ user?: User | null;
242
+ pack?: Pack | null;
243
+ }
244
+ interface Pack {
245
+ id: string;
246
+ name?: string | null;
247
+ language: string;
248
+ level: string;
249
+ difficulty?: string | null;
250
+ questionCount?: number | null;
251
+ automaticNumbering: boolean;
252
+ owner: string;
253
+ subjectId?: string | null;
254
+ chapterId?: string | null;
255
+ topicId?: string | null;
256
+ packGroupId?: string | null;
257
+ verificationStatus?: boolean | null;
258
+ language_difficulty_createdAt?: string | null;
259
+ createdAt?: string | null;
260
+ updatedAt?: string | null;
261
+ questions?: PaginatedList<QuestionObject> | null;
262
+ tags?: PaginatedList<PackTag> | null;
263
+ user?: User | null;
264
+ }
265
+ interface Tag {
266
+ name: string;
267
+ }
268
+ interface PackTag {
269
+ id: string;
270
+ packId: string;
271
+ tagId: string;
272
+ owner: string;
273
+ pack?: Pack | null;
274
+ tag?: Tag | null;
275
+ }
276
+ interface QuestionTag {
277
+ id: string;
278
+ tagId: string;
279
+ questionId: string;
280
+ owner: string;
281
+ question?: QuestionObject | null;
282
+ tag?: Tag | null;
283
+ }
284
+ interface QuestionVote {
285
+ id: string;
286
+ questionId: string;
287
+ userId: string;
288
+ type: string;
289
+ }
290
+ interface QuestionReport {
291
+ id: string;
292
+ questionId: string;
293
+ reason: string;
294
+ }
295
+ interface PackReport {
296
+ id: string;
297
+ packId: string;
298
+ reason: string;
299
+ }
300
+ interface Verification {
301
+ id: string;
302
+ verifiedObjectId?: string | null;
303
+ type?: VerificationType | null;
304
+ userId?: string | null;
305
+ }
306
+ interface PackExamResults {
307
+ id: string;
308
+ packId?: string | null;
309
+ selectedOptions?: string | null;
310
+ aiEvaluations?: string | null;
311
+ owner: string;
312
+ createdAt: string;
313
+ pack?: Pack | null;
314
+ }
315
+ interface Subject {
316
+ id: string;
317
+ name?: string | null;
318
+ level: string;
319
+ questionCount?: number | null;
320
+ chapters?: PaginatedList<Chapter> | null;
321
+ }
322
+ interface Chapter {
323
+ id: string;
324
+ name?: string | null;
325
+ order: number;
326
+ subjectId: string;
327
+ questionCount?: number | null;
328
+ topic?: PaginatedList<Topic> | null;
329
+ }
330
+ interface Topic {
331
+ id: string;
332
+ name?: string | null;
333
+ chapterId: string;
334
+ questionCount?: number | null;
335
+ }
336
+ interface Contest {
337
+ id: string;
338
+ name: string;
339
+ description: string;
340
+ startTime: string;
341
+ endTime: string;
342
+ level: string;
343
+ language: string;
344
+ owner: string;
345
+ isRated?: boolean | null;
346
+ subject: string;
347
+ totalQuestions: number;
348
+ resultsPublished: boolean;
349
+ totalParticipants: number;
350
+ maximumParticipants?: number | null;
351
+ rankings?: string | null;
352
+ globalPk: string;
353
+ solutionVideoUrl?: string | null;
354
+ imageUrl?: string | null;
355
+ }
356
+ interface ContestParticipant {
357
+ id: string;
358
+ contestId: string;
359
+ userId: string;
360
+ rank?: number | null;
361
+ score: number;
362
+ afterRating?: number | null;
363
+ beforeRating?: number | null;
364
+ selectedOptions: string;
365
+ createdAt: string;
366
+ contest?: Contest | null;
367
+ user?: User | null;
368
+ }
369
+ interface ContestQuestion {
370
+ id: string;
371
+ question: string;
372
+ answer: string;
373
+ type: string;
374
+ explanation?: string | null;
375
+ imageUrl?: string | null;
376
+ contestId: string;
377
+ language: string;
378
+ level: string;
379
+ order?: number | null;
380
+ owner: string;
381
+ options?: PaginatedList<ContestOption> | null;
382
+ }
383
+ interface ContestOption {
384
+ id: string;
385
+ content: string;
386
+ questionId: string;
387
+ }
388
+ interface Course {
389
+ id: string;
390
+ name: string;
391
+ description: string;
392
+ imageUrl?: string | null;
393
+ videoCount?: number | null;
394
+ fileCount?: number | null;
395
+ price: number;
396
+ totalEnrolled: number;
397
+ owner: string;
398
+ createdAt: string;
399
+ }
400
+ interface CourseItem {
401
+ id: string;
402
+ type?: CourseItemType | null;
403
+ name: string;
404
+ courseId: string;
405
+ parentId?: string | null;
406
+ order: number;
407
+ owner: string;
408
+ }
409
+ interface CourseEnrolled {
410
+ id: string;
411
+ courseId: string;
412
+ userId: string;
413
+ owner: string;
414
+ score: number;
415
+ rank?: number | null;
416
+ createdAt: string;
417
+ course?: Course | null;
418
+ user?: User | null;
419
+ }
420
+ interface CourseEnrollmentRequest {
421
+ id: string;
422
+ courseId: string;
423
+ name: string;
424
+ phone: string;
425
+ transactionID: string;
426
+ coupon?: string | null;
427
+ status?: string | null;
428
+ createdAt: string;
429
+ }
430
+ interface CourseLiveExam {
431
+ id: string;
432
+ courseId: string;
433
+ name: string;
434
+ startTime: string;
435
+ endTime: string;
436
+ owner: string;
437
+ totalParticipants: number;
438
+ resultsPublished: boolean;
439
+ }
440
+ interface CourseLiveExamParticipant {
441
+ id: string;
442
+ courseLiveExamId: string;
443
+ userId: string;
444
+ selectedOptions: string;
445
+ score: number;
446
+ rank?: number | null;
447
+ createdAt: string;
448
+ }
449
+ interface PackGroup {
450
+ id: string;
451
+ name: string;
452
+ description?: string | null;
453
+ imageUrl?: string | null;
454
+ type: string;
455
+ level?: string | null;
456
+ typeLevel?: string | null;
457
+ packCount: number;
458
+ order: number;
459
+ packs?: PaginatedList<Pack> | null;
460
+ }
461
+ interface PaymentTransaction {
462
+ id: string;
463
+ userId: string;
464
+ amount: number;
465
+ currency?: string | null;
466
+ paymentMethod: string;
467
+ trxId: string;
468
+ status?: PaymentStatus | null;
469
+ tierSelected: string;
470
+ }
471
+ interface AIUsageLog {
472
+ id: string;
473
+ userId: string;
474
+ questionId?: string | null;
475
+ evaluatedAt: string;
476
+ }
477
+ interface UserTopicMetric {
478
+ id: string;
479
+ userId: string;
480
+ topicId: string;
481
+ totalAttempted?: number | null;
482
+ totalCorrect?: number | null;
483
+ accuracy?: number | null;
484
+ }
485
+ interface QuestionTracking {
486
+ id: string;
487
+ userId: string;
488
+ questionId: string;
489
+ subjectId?: string | null;
490
+ chapterId?: string | null;
491
+ topicId?: string | null;
492
+ status?: QuestionTrackingStatus | null;
493
+ attempts?: number | null;
494
+ }
495
+ interface UserSubjectProgress {
496
+ id: string;
497
+ userId: string;
498
+ subjectId: string;
499
+ practicedCount?: number | null;
500
+ mistakeCount?: number | null;
501
+ correctedCount?: number | null;
502
+ accuracyScore?: number | null;
503
+ }
504
+ interface UserChapterProgress {
505
+ id: string;
506
+ userId: string;
507
+ chapterId: string;
508
+ practicedCount?: number | null;
509
+ mistakeCount?: number | null;
510
+ correctedCount?: number | null;
511
+ accuracyScore?: number | null;
512
+ }
513
+ interface UserTopicProgress {
514
+ id: string;
515
+ userId: string;
516
+ topicId: string;
517
+ practicedCount?: number | null;
518
+ mistakeCount?: number | null;
519
+ correctedCount?: number | null;
520
+ accuracyScore?: number | null;
521
+ }
522
+ interface NewsArticle {
523
+ id: string;
524
+ title: string;
525
+ content: string;
526
+ image?: string | null;
527
+ category?: string | null;
528
+ excerpt?: string | null;
529
+ createdAt?: string | null;
530
+ updatedAt?: string | null;
531
+ }
532
+
533
+ declare class UserService {
534
+ private network;
535
+ constructor(network: NetworkProvider);
536
+ get(id: string): Promise<User | null>;
537
+ updateAvatar(input: UpdateUserAvatarInput): Promise<User | null>;
538
+ getQuestions(userId: string, nextToken?: string): Promise<PaginatedList<QuestionObject>>;
539
+ getPacks(userId: string, nextToken?: string): Promise<PaginatedList<Pack>>;
540
+ getCourses(userId: string): Promise<Course[]>;
541
+ getEnrolledCourses(userId: string): Promise<CourseEnrolled[]>;
542
+ }
543
+
544
+ interface StatusResponse {
545
+ status?: string | null;
546
+ }
547
+ interface StatusIdResponse extends StatusResponse {
548
+ id?: string | null;
549
+ }
550
+ interface CreateQuestionResponse extends StatusResponse {
551
+ questionId?: string | null;
552
+ }
553
+ interface CreateCourseResponse extends StatusResponse {
554
+ courseId?: string | null;
555
+ }
556
+ interface UploadImageResponse extends StatusResponse {
557
+ imageUrl?: string | null;
558
+ }
559
+ interface SignedURLResponse extends StatusResponse {
560
+ signedURL?: string | null;
561
+ }
562
+ interface CreateCourseVideoResponse extends StatusResponse {
563
+ videoId?: string | null;
564
+ }
565
+ interface CheckParticipationResponse extends StatusResponse {
566
+ participated?: boolean | null;
567
+ selectedOptions?: string | null;
568
+ score?: number | null;
569
+ rank?: number | null;
570
+ beforeRating?: number | null;
571
+ afterRating?: number | null;
572
+ }
573
+ interface ContestQuestionsResponse extends StatusResponse {
574
+ questions?: string | null;
575
+ }
576
+ interface ContestAnswersResponse extends StatusResponse {
577
+ answers?: string | null;
578
+ }
579
+ interface CourseLiveExamQuestionsResponse extends StatusResponse {
580
+ name?: string | null;
581
+ startTime?: string | null;
582
+ endTime?: string | null;
583
+ questions?: string | null;
584
+ selectedOptions?: string | null;
585
+ }
586
+ interface LeaderboardResponse extends StatusResponse {
587
+ leaderboard?: string | null;
588
+ nextToken?: string | null;
589
+ totalParticipants?: number | null;
590
+ }
591
+ interface EvaluateWrittenAnswerResponse {
592
+ score?: number | null;
593
+ maxScore?: number | null;
594
+ feedback?: string | null;
595
+ isCorrect?: boolean | null;
596
+ markingExplanation?: string | null;
597
+ improvementFeedback?: string | null;
598
+ subquestions?: string | null;
599
+ markLocation?: string | null;
600
+ }
601
+
602
+ declare class QuestionService {
603
+ private network;
604
+ constructor(network: NetworkProvider);
605
+ create(input: CreateQuestionInput): Promise<CreateQuestionResponse>;
606
+ get(id: string): Promise<QuestionObject | null>;
607
+ getFull(id: string): Promise<QuestionObject | null>;
608
+ getAnswer(id: string): Promise<Option | null>;
609
+ getQuestionId(packId: string, order: number): Promise<string | null>;
610
+ update(id: string, fields: Record<string, unknown>): Promise<QuestionObject | null>;
611
+ delete(id: string): Promise<QuestionObject | null>;
612
+ vote(input: VoteInput): Promise<StatusIdResponse>;
613
+ upVote(questionId: string): Promise<StatusIdResponse>;
614
+ downVote(questionId: string): Promise<StatusIdResponse>;
615
+ verify(id: string, userId: string): Promise<Verification | null>;
616
+ report(id: string, reason: string): Promise<{
617
+ id: string;
618
+ }>;
619
+ addTags(input: AddQuestionTagInput): Promise<StatusResponse>;
620
+ listBySubject(input: ListByCurriculumInput): Promise<PaginatedList<QuestionObject>>;
621
+ listByChapter(input: ListByCurriculumInput): Promise<PaginatedList<QuestionObject>>;
622
+ listByTopic(input: ListByCurriculumInput): Promise<PaginatedList<QuestionObject>>;
623
+ listByRandomHash(input: ListByRandomHashInput): Promise<PaginatedList<QuestionObject>>;
624
+ }
625
+
626
+ declare class PackService {
627
+ private network;
628
+ constructor(network: NetworkProvider);
629
+ create(input: CreatePackInput): Promise<StatusIdResponse>;
630
+ get(id: string): Promise<Pack | null>;
631
+ getFull(id: string): Promise<Pack | null>;
632
+ update(id: string, fields: Record<string, unknown>): Promise<Pack | null>;
633
+ delete(id: string): Promise<Pack | null>;
634
+ verify(id: string, userId: string): Promise<Verification | null>;
635
+ report(id: string, reason: string): Promise<{
636
+ id: string;
637
+ }>;
638
+ submitExam(packId: string, selectedOptions: (string | null)[]): Promise<StatusIdResponse>;
639
+ getExams(userId: string, nextToken?: string): Promise<PaginatedList<PackExamResults>>;
640
+ getExamResult(resultId: string): Promise<PackExamResults | null>;
641
+ listBySubject(input: ListByCurriculumInput): Promise<PaginatedList<Pack>>;
642
+ listByChapter(input: ListByCurriculumInput): Promise<PaginatedList<Pack>>;
643
+ listByTopic(input: ListByCurriculumInput): Promise<PaginatedList<Pack>>;
644
+ listGroups(type: string, level?: string): Promise<PackGroup[]>;
645
+ getGroup(id: string): Promise<PackGroup | null>;
646
+ }
647
+
648
+ declare class ContestService {
649
+ private network;
650
+ constructor(network: NetworkProvider);
651
+ create(input: CreateContestInput): Promise<StatusIdResponse>;
652
+ get(id: string): Promise<Contest | null>;
653
+ getName(id: string): Promise<string | null>;
654
+ list(nextToken?: string, level?: string): Promise<PaginatedList<Contest>>;
655
+ participate(contestId: string): Promise<StatusIdResponse>;
656
+ checkParticipation(contestId: string): Promise<CheckParticipationResponse>;
657
+ selectOption(contestId: string, optionId: string, order: number): Promise<StatusResponse>;
658
+ getQuestions(contestId: string): Promise<ContestQuestionsResponse>;
659
+ getAnswers(contestId: string): Promise<ContestAnswersResponse>;
660
+ publish(contestId: string): Promise<StatusResponse>;
661
+ getLeaderboard(contestId: string, nextToken?: string | null): Promise<LeaderboardResponse>;
662
+ getUserResults(userId: string, nextToken?: string | null): Promise<PaginatedList<ContestParticipant>>;
663
+ updateSolutionVideo(contestId: string, url: string | null): Promise<StatusResponse>;
664
+ }
665
+
666
+ declare class CourseService {
667
+ private network;
668
+ constructor(network: NetworkProvider);
669
+ create(input: CreateCourseInput): Promise<CreateCourseResponse>;
670
+ get(id: string): Promise<Course | null>;
671
+ getItems(courseId: string): Promise<CourseItem[]>;
672
+ createItem(input: CreateCourseItemInput): Promise<StatusIdResponse>;
673
+ updateItem(id: string, name: string, order: number): Promise<CourseItem | null>;
674
+ deleteItem(input: DeleteCourseItemInput): Promise<StatusResponse>;
675
+ enroll(input: EnrollStudentInput): Promise<StatusIdResponse>;
676
+ getEnrolledStudent(courseId: string, userId: string): Promise<CourseEnrolled | null>;
677
+ getEnrolledStudents(courseId: string, nextToken?: string | null): Promise<PaginatedList<CourseEnrolled>>;
678
+ sendEnrollmentRequest(input: SendEnrollmentRequestInput): Promise<{
679
+ id: string;
680
+ }>;
681
+ getSignedURL(input: GetSignedURLInput): Promise<SignedURLResponse>;
682
+ getSignedFileURL(input: GetSignedFileURLInput): Promise<SignedURLResponse>;
683
+ createVideo(input: CreateCourseVideoInput): Promise<CreateCourseVideoResponse>;
684
+ uploadVideoToBunny(input: UploadVideoToBunnyInput): Promise<StatusResponse>;
685
+ getLiveExams(courseId: string, nextToken?: string | null): Promise<PaginatedList<CourseLiveExam>>;
686
+ createLiveExam(input: CreateCourseLiveExamInput): Promise<StatusIdResponse>;
687
+ getLiveExamQuestions(examId: string): Promise<CourseLiveExamQuestionsResponse>;
688
+ participateLiveExam(examId: string): Promise<StatusResponse>;
689
+ selectLiveExamOption(examId: string, optionId: string, order: number): Promise<StatusResponse>;
690
+ getLiveExamLeaderboard(examId: string, nextToken?: string | null): Promise<LeaderboardResponse>;
691
+ publishLiveExamResults(examId: string): Promise<StatusResponse>;
692
+ }
693
+
694
+ declare class CurriculumService {
695
+ private network;
696
+ constructor(network: NetworkProvider);
697
+ createSubject(name: string, level: string): Promise<StatusIdResponse>;
698
+ createChapter(name: string, subjectId: string, order: number): Promise<StatusIdResponse>;
699
+ createTopic(name: string, chapterId: string): Promise<StatusIdResponse>;
700
+ getSubjects(level: string): Promise<Subject[]>;
701
+ getChapters(subjectId: string): Promise<Chapter[]>;
702
+ getTopics(chapterId: string): Promise<Topic[]>;
703
+ }
704
+
705
+ declare class MediaService {
706
+ private network;
707
+ private storage?;
708
+ constructor(network: NetworkProvider, storage?: StorageProvider | undefined);
709
+ uploadImage(questionId: string, image: string): Promise<UploadImageResponse>;
710
+ deleteImage(imageUrl: string): Promise<StatusResponse>;
711
+ getSignedURL(input: GetSignedURLInput): Promise<SignedURLResponse>;
712
+ getSignedFileURL(input: GetSignedFileURLInput): Promise<SignedURLResponse>;
713
+ getFileUrl(path: string): Promise<{
714
+ url: string;
715
+ }>;
716
+ uploadFile(path: string, data: Blob | ArrayBuffer | string, options?: {
717
+ contentType?: string;
718
+ onProgress?: (progress: {
719
+ loaded: number;
720
+ total: number;
721
+ }) => void;
722
+ }): Promise<{
723
+ path: string;
724
+ }>;
725
+ createVideo(input: CreateCourseVideoInput): Promise<CreateCourseVideoResponse>;
726
+ uploadVideoToBunny(input: UploadVideoToBunnyInput): Promise<StatusResponse>;
727
+ }
728
+
729
+ declare class ProgressService {
730
+ private network;
731
+ constructor(network: NetworkProvider);
732
+ track(input: TrackPracticeProgressInput): Promise<StatusResponse>;
733
+ getSubjectProgress(userId: string): Promise<UserSubjectProgress[]>;
734
+ getChapterProgress(userId: string): Promise<UserChapterProgress[]>;
735
+ getTopicProgress(userId: string): Promise<UserTopicProgress[]>;
736
+ getTopicMetrics(userId: string): Promise<UserTopicMetric[]>;
737
+ getMistakenQuestions(userId: string): Promise<QuestionTracking[]>;
738
+ }
739
+
740
+ declare class AIService {
741
+ private network;
742
+ constructor(network: NetworkProvider);
743
+ evaluateWrittenAnswer(input: EvaluateWrittenAnswerInput): Promise<EvaluateWrittenAnswerResponse>;
744
+ }
745
+
746
+ declare class NewsService {
747
+ private network;
748
+ constructor(network: NetworkProvider);
749
+ create(title: string, content: string, image?: string, category?: string, excerpt?: string): Promise<NewsArticle | null>;
750
+ list(nextToken?: string): Promise<PaginatedList<NewsArticle>>;
751
+ get(id: string): Promise<NewsArticle | null>;
752
+ }
753
+
754
+ interface OrjokClientConfig {
755
+ authProvider: AuthProvider;
756
+ networkProvider: NetworkProvider;
757
+ storageProvider?: StorageProvider;
758
+ }
759
+ declare class OrjokClient {
760
+ readonly auth: AuthProvider;
761
+ readonly users: UserService;
762
+ readonly questions: QuestionService;
763
+ readonly packs: PackService;
764
+ readonly contests: ContestService;
765
+ readonly courses: CourseService;
766
+ readonly curriculum: CurriculumService;
767
+ readonly media: MediaService;
768
+ readonly progress: ProgressService;
769
+ readonly ai: AIService;
770
+ readonly news: NewsService;
771
+ constructor(config: OrjokClientConfig);
772
+ }
773
+ declare function createOrjokClient(config: OrjokClientConfig): OrjokClient;
774
+
775
+ export { NewsService as $, AIService as A, type CreateCourseResponse as B, type Chapter as C, type Difficulty as D, type CreateCourseVideoInput as E, type CreateCourseVideoResponse as F, type CreatePackInput as G, type CreateQuestionInput as H, type CreateQuestionResponse as I, CurriculumService as J, type DeleteCourseItemInput as K, type EnrollStudentInput as L, type EvaluateWrittenAnswerInput as M, type EvaluateWrittenAnswerResponse as N, OrjokClient as O, type GetSignedFileURLInput as P, type QuestionType as Q, type GetSignedURLInput as R, type Language as S, type LeaderboardResponse as T, type UserChapterProgress as U, type Level as V, type ListByCurriculumInput as W, type ListByRandomHashInput as X, MediaService as Y, type ModelType as Z, type NewsArticle as _, type QuestionObject as a, type Option as a0, type OrjokClientConfig as a1, type Pack as a2, type PackExamResults as a3, type PackGroup as a4, type PackReport as a5, PackService as a6, type PackTag as a7, type PaginatedList as a8, type PaymentStatus as a9, type VerificationType as aA, type VoteInput as aB, type VoteType as aC, createOrjokClient as aD, type PaymentTransaction as aa, ProgressService as ab, type QuestionReport as ac, QuestionService as ad, type QuestionTag as ae, type QuestionTracking as af, type QuestionTrackingStatus as ag, type QuestionVote as ah, type SendEnrollmentRequestInput as ai, type SignedURLResponse as aj, type SortDirection as ak, type StatusIdResponse as al, type StatusResponse as am, type Subject as an, type SubmitPackExamInput as ao, type Tag as ap, type Tier as aq, type Topic as ar, type TrackPracticeProgressInput as as, type UpdateUserAvatarInput as at, type UploadImageResponse as au, type UploadVideoToBunnyInput as av, type User as aw, UserService as ax, type UserTopicMetric as ay, type Verification as az, type UserSubjectProgress as b, type UserTopicProgress as c, type AIUsageLog as d, type AddQuestionTagInput as e, type CheckParticipationResponse as f, type Contest as g, type ContestAnswersResponse as h, type ContestOption as i, type ContestParticipant as j, type ContestQuestion as k, type ContestQuestionsResponse as l, ContestService as m, type Course as n, type CourseEnrolled as o, type CourseEnrollmentRequest as p, type CourseItem as q, type CourseItemType as r, type CourseLiveExam as s, type CourseLiveExamParticipant as t, type CourseLiveExamQuestionsResponse as u, CourseService as v, type CreateContestInput as w, type CreateCourseInput as x, type CreateCourseItemInput as y, type CreateCourseLiveExamInput as z };