@speakableio/core 1.0.58 → 1.0.59

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.
@@ -1,3566 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import React from 'react';
3
- import * as _tanstack_react_query from '@tanstack/react-query';
4
- import { QueryClient } from '@tanstack/react-query';
5
- import { FirebaseFirestoreTypes, Timestamp } from '@react-native-firebase/firestore';
6
- import { Firestore, getDoc, getDocs, addDoc, setDoc, updateDoc, deleteDoc, runTransaction, writeBatch, doc, collection, query, serverTimestamp, orderBy, limit, startAt, startAfter, endAt, endBefore, where, increment, Timestamp as Timestamp$1, FieldValue } from 'firebase/firestore';
7
-
8
- type FirebaseInstance = FirebaseFirestoreTypes.Module | Firestore;
9
- interface FirestoreHelpers {
10
- getDoc: typeof getDoc;
11
- getDocs: typeof getDocs;
12
- addDoc: typeof addDoc;
13
- setDoc: typeof setDoc;
14
- updateDoc: typeof updateDoc;
15
- deleteDoc: typeof deleteDoc;
16
- runTransaction: typeof runTransaction;
17
- writeBatch: typeof writeBatch;
18
- doc: typeof doc;
19
- collection: typeof collection;
20
- query: typeof query;
21
- serverTimestamp: typeof serverTimestamp;
22
- orderBy: typeof orderBy;
23
- limit: typeof limit;
24
- startAt: typeof startAt;
25
- startAfter: typeof startAfter;
26
- endAt: typeof endAt;
27
- endBefore: typeof endBefore;
28
- where: typeof where;
29
- increment: typeof increment;
30
- }
31
- type CustomTimestamp = Timestamp | Timestamp$1;
32
- type CallableFunction<T = any, R = any> = (data: T) => Promise<R>;
33
-
34
- declare enum FeedbackTypesCard {
35
- SuggestedResponse = "suggested_response",
36
- Wida = "wida",
37
- GrammarInsights = "grammar_insights",
38
- Actfl = "actfl",
39
- ProficiencyLevel = "proficiency_level"
40
- }
41
- declare enum LeniencyCard {
42
- CONFIDENCE = "confidence",
43
- EASY = "easy",
44
- NORMAL = "normal",
45
- HARD = "hard"
46
- }
47
- declare const LENIENCY_OPTIONS: {
48
- label: string;
49
- value: LeniencyCard;
50
- }[];
51
- declare const STUDENT_LEVELS_OPTIONS: {
52
- label: string;
53
- description: string;
54
- value: string;
55
- }[];
56
- declare const BASE_RESPOND_FIELD_VALUES: {
57
- title: string;
58
- allowRetries: boolean;
59
- respondTime: number;
60
- maxCharacters: number;
61
- };
62
- declare const BASE_REPEAT_FIELD_VALUES: {
63
- repeat: number;
64
- };
65
- declare const BASE_MULTIPLE_CHOICE_FIELD_VALUES: {
66
- MCQType: string;
67
- answer: string[];
68
- choices: {
69
- option: string;
70
- value: string;
71
- }[];
72
- };
73
- declare enum VerificationCardStatus {
74
- VERIFIED = "VERIFIED",
75
- WARNING = "WARNING",
76
- NOT_RECOMMENDED = "NOT_RECOMMENDED",
77
- NOT_WORKING = "NOT_WORKING",
78
- NOT_CHECKED = "NOT_CHECKED"
79
- }
80
- declare const CARDS_COLLECTION = "flashcards";
81
- type RefsCardsFiresotre = `${typeof CARDS_COLLECTION}/${string}`;
82
- declare const refsCardsFiresotre: {
83
- allCards: string;
84
- card: (id: string) => `flashcards/${string}`;
85
- };
86
-
87
- interface PageActivityWithId extends PageActivity {
88
- id: string;
89
- }
90
- interface MediaPageActivity {
91
- type: 'image' | 'video' | 'link' | 'audio' | 'embed' | 'document';
92
- url: string;
93
- transcript?: string | null;
94
- }
95
- declare enum ConversationPageMode {
96
- VoiceAndText = "voice_and_text",
97
- PhoneCall = "phone_call"
98
- }
99
- interface PageActivity {
100
- owners: string[];
101
- checked?: boolean;
102
- completed?: boolean;
103
- media_area_id?: string | null;
104
- media_area_layout?: 'left' | 'right' | null;
105
- media?: MediaPageActivity | null;
106
- score?: number;
107
- verificationStatus?: VerificationCardStatus;
108
- native_text?: string;
109
- repeat?: number;
110
- language?: string | null;
111
- image?: {
112
- path?: string | null;
113
- url?: string;
114
- };
115
- audio?: {
116
- path?: string | null;
117
- url?: string;
118
- } | null;
119
- notes?: string;
120
- difficulty?: string;
121
- default_language?: string;
122
- target_text?: string;
123
- type: ActivityPageType;
124
- grading_criteria?: string;
125
- grading_criteria_title?: string;
126
- scoring_type?: string;
127
- grading_method?: 'simple' | 'rubric' | 'manual' | 'standards_based';
128
- feedback_types?: FeedbackTypesCard[];
129
- rubricId?: string;
130
- prompt?: string;
131
- title?: string;
132
- passing_score?: number;
133
- maxCharacters?: number;
134
- answer?: string[];
135
- choices?: {
136
- value: string;
137
- option: string;
138
- }[];
139
- MCQType?: string;
140
- multipleAttemptsAllowed?: boolean;
141
- allowRetries?: boolean;
142
- question?: string;
143
- respondTime?: number;
144
- hidePrompt?: boolean;
145
- videoUrl?: string;
146
- link?: string;
147
- text?: string;
148
- isListenAloud?: boolean;
149
- embedCode?: string;
150
- attempt?: number;
151
- correct?: number;
152
- autoGrade?: boolean;
153
- points?: number;
154
- shuffle?: boolean;
155
- translation?: string;
156
- includeAIContext?: boolean;
157
- media_area_context_ref?: string | null;
158
- standardId?: string;
159
- target_proficiency_level?: string;
160
- allowTTS?: boolean;
161
- feedback_language?: string | null;
162
- correct_answer?: string | null;
163
- limit_attempts?: boolean;
164
- max_attempts?: number;
165
- rich_text?: string;
166
- feedbackOff?: boolean;
167
- correct_answer_exact_match?: boolean;
168
- ai_context_block_ids?: string[];
169
- resolvedContext?: string;
170
- goal?: string;
171
- mode?: ConversationPageMode;
172
- personality?: string;
173
- voice?: string;
174
- topic?: string;
175
- vocab?: string[];
176
- questions?: string[];
177
- showHints?: boolean;
178
- }
179
- declare const enum ActivityPageType {
180
- READ_REPEAT = "READ_REPEAT",
181
- READ_RESPOND = "READ_RESPOND",
182
- FREE_RESPONSE = "FREE_RESPONSE",
183
- REPEAT = "REPEAT",
184
- RESPOND = "RESPOND",
185
- RESPOND_WRITE = "RESPOND_WRITE",
186
- MULTIPLE_CHOICE = "MULTIPLE_CHOICE",
187
- MEDIA_PAGE = "MEDIA_PAGE",
188
- SHORT_ANSWER = "SHORT_ANSWER",
189
- CONVERSATION = "CONVERSATION"
190
- }
191
- declare const RESPOND_PAGE_ACTIVITY_TYPES: ActivityPageType[];
192
- declare const MULTIPLE_CHOICE_PAGE_ACTIVITY_TYPES: ActivityPageType[];
193
- declare const REPEAT_PAGE_ACTIVITY_TYPES: ActivityPageType[];
194
- declare const RESPOND_WRITE_PAGE_ACTIVITY_TYPES: ActivityPageType[];
195
- declare const RESPOND_AUDIO_PAGE_ACTIVITY_TYPES: ActivityPageType[];
196
- declare const CONVERSATION_PAGE_ACTIVITY_TYPES: ActivityPageType[];
197
-
198
- declare const cardsQueryKeys: {
199
- all: string[];
200
- one: (params: {
201
- cardId: string;
202
- }) => string[];
203
- };
204
- declare function useCards({ cardIds, enabled, asObject, }: {
205
- cardIds: string[];
206
- enabled: boolean;
207
- asObject?: boolean;
208
- }): {
209
- cards: PageActivityWithId[];
210
- cardsObject: Record<string, PageActivityWithId> | null;
211
- cardsQueries: _tanstack_react_query.UseQueryResult<{
212
- type: ActivityPageType;
213
- id: string;
214
- owners: string[];
215
- checked?: boolean;
216
- completed?: boolean;
217
- media_area_id?: string | null;
218
- media_area_layout?: "left" | "right" | null;
219
- media?: MediaPageActivity | null;
220
- score?: number;
221
- verificationStatus?: VerificationCardStatus;
222
- native_text?: string;
223
- repeat?: number;
224
- language?: string | null;
225
- image?: {
226
- path?: string | null;
227
- url?: string;
228
- };
229
- audio?: {
230
- path?: string | null;
231
- url?: string;
232
- } | null;
233
- notes?: string;
234
- difficulty?: string;
235
- default_language?: string;
236
- target_text?: string;
237
- grading_criteria?: string;
238
- grading_criteria_title?: string;
239
- scoring_type?: string;
240
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
241
- feedback_types?: FeedbackTypesCard[];
242
- rubricId?: string;
243
- prompt?: string;
244
- title?: string;
245
- passing_score?: number;
246
- maxCharacters?: number;
247
- answer?: string[];
248
- choices?: {
249
- value: string;
250
- option: string;
251
- }[];
252
- MCQType?: string;
253
- multipleAttemptsAllowed?: boolean;
254
- allowRetries?: boolean;
255
- question?: string;
256
- respondTime?: number;
257
- hidePrompt?: boolean;
258
- videoUrl?: string;
259
- link?: string;
260
- text?: string;
261
- isListenAloud?: boolean;
262
- embedCode?: string;
263
- attempt?: number;
264
- correct?: number;
265
- autoGrade?: boolean;
266
- points?: number;
267
- shuffle?: boolean;
268
- translation?: string;
269
- includeAIContext?: boolean;
270
- media_area_context_ref?: string | null;
271
- standardId?: string;
272
- target_proficiency_level?: string;
273
- allowTTS?: boolean;
274
- feedback_language?: string | null;
275
- correct_answer?: string | null;
276
- limit_attempts?: boolean;
277
- max_attempts?: number;
278
- rich_text?: string;
279
- feedbackOff?: boolean;
280
- correct_answer_exact_match?: boolean;
281
- ai_context_block_ids?: string[];
282
- resolvedContext?: string;
283
- goal?: string;
284
- mode?: ConversationPageMode;
285
- personality?: string;
286
- voice?: string;
287
- topic?: string;
288
- vocab?: string[];
289
- questions?: string[];
290
- showHints?: boolean;
291
- } | null, Error>[];
292
- };
293
- declare function useCreateCard(): {
294
- mutationCreateCard: _tanstack_react_query.UseMutationResult<{
295
- id: string;
296
- } & Partial<PageActivity>, Error, {
297
- data: Partial<PageActivity>;
298
- }, unknown>;
299
- };
300
- declare function useCreateCards(): {
301
- mutationCreateCards: _tanstack_react_query.UseMutationResult<{
302
- id: string;
303
- owners: string[];
304
- checked?: boolean;
305
- completed?: boolean;
306
- media_area_id?: string | null;
307
- media_area_layout?: "left" | "right" | null;
308
- media?: MediaPageActivity | null;
309
- score?: number;
310
- verificationStatus?: VerificationCardStatus;
311
- native_text?: string;
312
- repeat?: number;
313
- language?: string | null;
314
- image?: {
315
- path?: string | null;
316
- url?: string;
317
- };
318
- audio?: {
319
- path?: string | null;
320
- url?: string;
321
- } | null;
322
- notes?: string;
323
- difficulty?: string;
324
- default_language?: string;
325
- target_text?: string;
326
- type: ActivityPageType;
327
- grading_criteria?: string;
328
- grading_criteria_title?: string;
329
- scoring_type?: string;
330
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
331
- feedback_types?: FeedbackTypesCard[];
332
- rubricId?: string;
333
- prompt?: string;
334
- title?: string;
335
- passing_score?: number;
336
- maxCharacters?: number;
337
- answer?: string[];
338
- choices?: {
339
- value: string;
340
- option: string;
341
- }[];
342
- MCQType?: string;
343
- multipleAttemptsAllowed?: boolean;
344
- allowRetries?: boolean;
345
- question?: string;
346
- respondTime?: number;
347
- hidePrompt?: boolean;
348
- videoUrl?: string;
349
- link?: string;
350
- text?: string;
351
- isListenAloud?: boolean;
352
- embedCode?: string;
353
- attempt?: number;
354
- correct?: number;
355
- autoGrade?: boolean;
356
- points?: number;
357
- shuffle?: boolean;
358
- translation?: string;
359
- includeAIContext?: boolean;
360
- media_area_context_ref?: string | null;
361
- standardId?: string;
362
- target_proficiency_level?: string;
363
- allowTTS?: boolean;
364
- feedback_language?: string | null;
365
- correct_answer?: string | null;
366
- limit_attempts?: boolean;
367
- max_attempts?: number;
368
- rich_text?: string;
369
- feedbackOff?: boolean;
370
- correct_answer_exact_match?: boolean;
371
- ai_context_block_ids?: string[];
372
- resolvedContext?: string;
373
- goal?: string;
374
- mode?: ConversationPageMode;
375
- personality?: string;
376
- voice?: string;
377
- topic?: string;
378
- vocab?: string[];
379
- questions?: string[];
380
- showHints?: boolean;
381
- }[], Error, {
382
- cards: PageActivity[];
383
- }, unknown>;
384
- };
385
- declare function getCardFromCache({ cardId, queryClient, }: {
386
- cardId: string;
387
- queryClient: QueryClient;
388
- }): PageActivityWithId | undefined;
389
- declare function updateCardInCache({ cardId, card, queryClient, }: {
390
- cardId: string;
391
- card: PageActivityWithId | null;
392
- queryClient: QueryClient;
393
- }): void;
394
- declare function useGetCard({ cardId, enabled }: {
395
- cardId: string;
396
- enabled?: boolean;
397
- }): _tanstack_react_query.UseQueryResult<{
398
- type: ActivityPageType;
399
- id: string;
400
- owners: string[];
401
- checked?: boolean;
402
- completed?: boolean;
403
- media_area_id?: string | null;
404
- media_area_layout?: "left" | "right" | null;
405
- media?: MediaPageActivity | null;
406
- score?: number;
407
- verificationStatus?: VerificationCardStatus;
408
- native_text?: string;
409
- repeat?: number;
410
- language?: string | null;
411
- image?: {
412
- path?: string | null;
413
- url?: string;
414
- };
415
- audio?: {
416
- path?: string | null;
417
- url?: string;
418
- } | null;
419
- notes?: string;
420
- difficulty?: string;
421
- default_language?: string;
422
- target_text?: string;
423
- grading_criteria?: string;
424
- grading_criteria_title?: string;
425
- scoring_type?: string;
426
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
427
- feedback_types?: FeedbackTypesCard[];
428
- rubricId?: string;
429
- prompt?: string;
430
- title?: string;
431
- passing_score?: number;
432
- maxCharacters?: number;
433
- answer?: string[];
434
- choices?: {
435
- value: string;
436
- option: string;
437
- }[];
438
- MCQType?: string;
439
- multipleAttemptsAllowed?: boolean;
440
- allowRetries?: boolean;
441
- question?: string;
442
- respondTime?: number;
443
- hidePrompt?: boolean;
444
- videoUrl?: string;
445
- link?: string;
446
- text?: string;
447
- isListenAloud?: boolean;
448
- embedCode?: string;
449
- attempt?: number;
450
- correct?: number;
451
- autoGrade?: boolean;
452
- points?: number;
453
- shuffle?: boolean;
454
- translation?: string;
455
- includeAIContext?: boolean;
456
- media_area_context_ref?: string | null;
457
- standardId?: string;
458
- target_proficiency_level?: string;
459
- allowTTS?: boolean;
460
- feedback_language?: string | null;
461
- correct_answer?: string | null;
462
- limit_attempts?: boolean;
463
- max_attempts?: number;
464
- rich_text?: string;
465
- feedbackOff?: boolean;
466
- correct_answer_exact_match?: boolean;
467
- ai_context_block_ids?: string[];
468
- resolvedContext?: string;
469
- goal?: string;
470
- mode?: ConversationPageMode;
471
- personality?: string;
472
- voice?: string;
473
- topic?: string;
474
- vocab?: string[];
475
- questions?: string[];
476
- showHints?: boolean;
477
- } | null, Error>;
478
-
479
- declare const createCardRepo: () => {
480
- createCard: (args_0: {
481
- data: Partial<PageActivity>;
482
- }) => Promise<{
483
- id: string;
484
- } & Partial<PageActivity>>;
485
- createCards: (args_0: {
486
- cards: PageActivity[];
487
- }) => Promise<{
488
- id: string;
489
- owners: string[];
490
- checked?: boolean;
491
- completed?: boolean;
492
- media_area_id?: string | null;
493
- media_area_layout?: "left" | "right" | null;
494
- media?: MediaPageActivity | null;
495
- score?: number;
496
- verificationStatus?: VerificationCardStatus;
497
- native_text?: string;
498
- repeat?: number;
499
- language?: string | null;
500
- image?: {
501
- path?: string | null;
502
- url?: string;
503
- };
504
- audio?: {
505
- path?: string | null;
506
- url?: string;
507
- } | null;
508
- notes?: string;
509
- difficulty?: string;
510
- default_language?: string;
511
- target_text?: string;
512
- type: ActivityPageType;
513
- grading_criteria?: string;
514
- grading_criteria_title?: string;
515
- scoring_type?: string;
516
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
517
- feedback_types?: FeedbackTypesCard[];
518
- rubricId?: string;
519
- prompt?: string;
520
- title?: string;
521
- passing_score?: number;
522
- maxCharacters?: number;
523
- answer?: string[];
524
- choices?: {
525
- value: string;
526
- option: string;
527
- }[];
528
- MCQType?: string;
529
- multipleAttemptsAllowed?: boolean;
530
- allowRetries?: boolean;
531
- question?: string;
532
- respondTime?: number;
533
- hidePrompt?: boolean;
534
- videoUrl?: string;
535
- link?: string;
536
- text?: string;
537
- isListenAloud?: boolean;
538
- embedCode?: string;
539
- attempt?: number;
540
- correct?: number;
541
- autoGrade?: boolean;
542
- points?: number;
543
- shuffle?: boolean;
544
- translation?: string;
545
- includeAIContext?: boolean;
546
- media_area_context_ref?: string | null;
547
- standardId?: string;
548
- target_proficiency_level?: string;
549
- allowTTS?: boolean;
550
- feedback_language?: string | null;
551
- correct_answer?: string | null;
552
- limit_attempts?: boolean;
553
- max_attempts?: number;
554
- rich_text?: string;
555
- feedbackOff?: boolean;
556
- correct_answer_exact_match?: boolean;
557
- ai_context_block_ids?: string[];
558
- resolvedContext?: string;
559
- goal?: string;
560
- mode?: ConversationPageMode;
561
- personality?: string;
562
- voice?: string;
563
- topic?: string;
564
- vocab?: string[];
565
- questions?: string[];
566
- showHints?: boolean;
567
- }[]>;
568
- getCard: (params: {
569
- cardId: string;
570
- }) => Promise<{
571
- type: ActivityPageType;
572
- id: string;
573
- owners: string[];
574
- checked?: boolean;
575
- completed?: boolean;
576
- media_area_id?: string | null;
577
- media_area_layout?: "left" | "right" | null;
578
- media?: MediaPageActivity | null;
579
- score?: number;
580
- verificationStatus?: VerificationCardStatus;
581
- native_text?: string;
582
- repeat?: number;
583
- language?: string | null;
584
- image?: {
585
- path?: string | null;
586
- url?: string;
587
- };
588
- audio?: {
589
- path?: string | null;
590
- url?: string;
591
- } | null;
592
- notes?: string;
593
- difficulty?: string;
594
- default_language?: string;
595
- target_text?: string;
596
- grading_criteria?: string;
597
- grading_criteria_title?: string;
598
- scoring_type?: string;
599
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
600
- feedback_types?: FeedbackTypesCard[];
601
- rubricId?: string;
602
- prompt?: string;
603
- title?: string;
604
- passing_score?: number;
605
- maxCharacters?: number;
606
- answer?: string[];
607
- choices?: {
608
- value: string;
609
- option: string;
610
- }[];
611
- MCQType?: string;
612
- multipleAttemptsAllowed?: boolean;
613
- allowRetries?: boolean;
614
- question?: string;
615
- respondTime?: number;
616
- hidePrompt?: boolean;
617
- videoUrl?: string;
618
- link?: string;
619
- text?: string;
620
- isListenAloud?: boolean;
621
- embedCode?: string;
622
- attempt?: number;
623
- correct?: number;
624
- autoGrade?: boolean;
625
- points?: number;
626
- shuffle?: boolean;
627
- translation?: string;
628
- includeAIContext?: boolean;
629
- media_area_context_ref?: string | null;
630
- standardId?: string;
631
- target_proficiency_level?: string;
632
- allowTTS?: boolean;
633
- feedback_language?: string | null;
634
- correct_answer?: string | null;
635
- limit_attempts?: boolean;
636
- max_attempts?: number;
637
- rich_text?: string;
638
- feedbackOff?: boolean;
639
- correct_answer_exact_match?: boolean;
640
- ai_context_block_ids?: string[];
641
- resolvedContext?: string;
642
- goal?: string;
643
- mode?: ConversationPageMode;
644
- personality?: string;
645
- voice?: string;
646
- topic?: string;
647
- vocab?: string[];
648
- questions?: string[];
649
- showHints?: boolean;
650
- } | null>;
651
- };
652
-
653
- declare function checkIsRepeatPage(cardType: ActivityPageType | undefined): boolean;
654
- declare function checkIsMCPage(cardType: ActivityPageType | undefined): boolean;
655
- declare function checkIsRespondPage(cardType: ActivityPageType | undefined): boolean;
656
- declare function checkIsRespondWrittenPage(cardType: ActivityPageType | undefined): boolean;
657
- declare function checkIsRespondAudioPage(cardType: ActivityPageType | undefined): boolean;
658
- declare const checkIsMediaPage: (cardType: ActivityPageType | undefined) => boolean;
659
- declare const checkIsShortAnswerPage: (cardType: ActivityPageType | undefined) => boolean;
660
- declare const checkIsConversationPage: (cardType: ActivityPageType | undefined) => boolean;
661
- declare const checkTypePageActivity: (cardType: ActivityPageType | undefined) => {
662
- isRespondAudio: boolean;
663
- isRespondWritten: boolean;
664
- isRespond: boolean;
665
- isMC: boolean;
666
- isRepeat: boolean;
667
- isMediaPage: boolean;
668
- isShortAnswer: boolean;
669
- hasSomeType: boolean;
670
- isConversation: boolean;
671
- };
672
-
673
- declare function getPagePrompt(card: PageActivityWithId | undefined): {
674
- has: boolean;
675
- text: string;
676
- rich_text: string;
677
- isTextEqualToRichText: boolean;
678
- extraText: string;
679
- } | {
680
- has: boolean;
681
- text: string;
682
- rich_text: string;
683
- isTextEqualToRichText: boolean;
684
- };
685
-
686
- declare const getTotalCompletedCards: (pageScores: Score["cards"] | undefined) => number;
687
-
688
- declare const getLabelPage: (pageType: ActivityPageType | undefined) => {
689
- short: string;
690
- long: string;
691
- };
692
-
693
- declare function getPageMediaData(page: PageActivityWithId): {
694
- isMediaPage: boolean;
695
- resource: {
696
- id: string | undefined;
697
- shouldRender: boolean;
698
- };
699
- promptMedia: {
700
- direction: "left" | "right";
701
- content: {
702
- rawObject: MediaPageActivity;
703
- type: "document" | "image" | "video" | "link" | "audio" | "embed";
704
- content: string;
705
- } | undefined;
706
- shouldRender: boolean;
707
- };
708
- };
709
- declare function getSingleMediaPageData(page: PageActivityWithId): {
710
- rawObject: MediaPageActivity;
711
- type: "document" | "image" | "video" | "link" | "audio" | "embed";
712
- content: string;
713
- } | undefined;
714
-
715
- interface Assignment {
716
- name: string;
717
- description: string;
718
- scheduledTime?: string | null;
719
- dueTime?: {
720
- hours: number;
721
- minutes: number;
722
- nanos: number;
723
- };
724
- speakableio: boolean;
725
- owners: string[];
726
- image: {
727
- path: string | null;
728
- url: string;
729
- };
730
- dueDate: {
731
- day: number;
732
- month: number;
733
- year: number;
734
- };
735
- teacherName: string;
736
- courseWorkId: string | null;
737
- dueDateTimestamp: CustomTimestamp;
738
- scheduledTimeTimestamp: number;
739
- active: boolean;
740
- voice: string | null;
741
- setId: string;
742
- dateMade: {
743
- seconds: number;
744
- nanoseconds: number;
745
- };
746
- maxPoints: number;
747
- courseId: string;
748
- isAssessment: boolean;
749
- isAvailable: boolean;
750
- ltiDeeplink?: string;
751
- content?: string[];
752
- weights?: Record<string, number>;
753
- language?: string;
754
- types?: {
755
- [key in ActivityPageType]?: number;
756
- };
757
- aiEnabled?: boolean;
758
- chat_experience?: boolean;
759
- showScores?: boolean;
760
- }
761
- type AssignmentAnalyticsType$1 = 'macro' | 'gradebook' | 'cards' | 'student' | 'student_summary';
762
- interface AssignmentWithId extends Assignment {
763
- id: string;
764
- isAvailable: boolean;
765
- scores?: unknown;
766
- }
767
- interface Score {
768
- userId: string;
769
- owners: string[];
770
- progress: number;
771
- score: number;
772
- cards?: {
773
- [cardId: string]: PageScore;
774
- };
775
- courseId?: string;
776
- firstLoad?: boolean;
777
- googleClassroomUserId?: string;
778
- skippedCards?: number;
779
- lastPlayed?: CustomTimestamp;
780
- startDate?: CustomTimestamp;
781
- submissionDate?: CustomTimestamp;
782
- status?: 'SUBMITTED' | 'PENDING_REVIEW' | 'IN_PROGRESS' | 'FINALIZED';
783
- submitted?: boolean;
784
- successfulCards?: number;
785
- total_voiceSuccess?: number;
786
- total_voice_attempts?: number;
787
- total_words_spoken?: number;
788
- history?: PageScore[];
789
- attempts?: number;
790
- assignmentId?: string;
791
- setId?: string;
792
- score_is_overridden?: boolean;
793
- reviewed?: boolean;
794
- triage?: {
795
- version?: string;
796
- improvements?: string[];
797
- reasons?: string[];
798
- updatedAt?: CustomTimestamp;
799
- confidence?: number;
800
- category?: 'excellent' | 'doing_ok' | 'needs_attention' | 'unknown';
801
- by?: string;
802
- summary?: string;
803
- strengths?: string[];
804
- };
805
- }
806
- interface ScoreWithId extends Score {
807
- id: string;
808
- }
809
- interface PageScore {
810
- voiceSuccess?: number;
811
- voiceAttempts?: number;
812
- voiceFail?: number;
813
- completed?: boolean;
814
- attempts?: number;
815
- correct?: number;
816
- success?: boolean;
817
- aiSuccess?: boolean;
818
- grading_method?: 'simple' | 'rubric' | 'manual' | 'standards_based' | null;
819
- grammar_insights?: {
820
- type?: string;
821
- justification?: string;
822
- error?: boolean;
823
- correction?: string;
824
- }[];
825
- promptSuccess?: boolean;
826
- score?: number;
827
- simple_grading?: {
828
- justification?: string;
829
- success?: boolean;
830
- };
831
- suggested_response?: string;
832
- summary?: string;
833
- transcript?: string | null;
834
- errors?: any;
835
- improvedResponse?: string;
836
- audio?: string | null;
837
- actfl?: {
838
- justification: string;
839
- level: string;
840
- key_indicators?: string[];
841
- };
842
- wida?: {
843
- justification: string;
844
- level: string;
845
- key_indicators?: string[];
846
- };
847
- earned_points?: number;
848
- fileName?: string | null;
849
- max_points?: number;
850
- passing_score?: number;
851
- rubric?: {
852
- description: string;
853
- justification: string;
854
- maxPoints: number;
855
- score: number;
856
- score_title: string;
857
- title: string;
858
- }[] | null;
859
- scoring_type?: string;
860
- history?: PageScore[];
861
- media_area_opened?: boolean;
862
- noFeedbackAvailable?: boolean;
863
- proficiency_level?: {
864
- standardId: string;
865
- level: string;
866
- justification: string;
867
- key_indicators?: string[];
868
- };
869
- status?: string | null;
870
- transcriptError?: boolean;
871
- feedbackError?: boolean;
872
- totalTrys?: {
873
- markedCorrect?: boolean;
874
- selectedOption?: string | string[];
875
- attemptedAt?: CustomTimestamp;
876
- messageAttemptId?: string;
877
- }[];
878
- tryAgain?: boolean;
879
- updatedAt?: CustomTimestamp;
880
- messageAttemptId?: string;
881
- unmetCriteria?: {
882
- criterion: string;
883
- suggestion: string;
884
- explanation: string;
885
- }[];
886
- meetsCriteria?: boolean;
887
- actionableSteps?: string[];
888
- rubric_results?: {
889
- title: string;
890
- score: number;
891
- score_title: string;
892
- justification: string;
893
- maxPoints: number;
894
- description: string;
895
- }[];
896
- target_proficiency_level?: string;
897
- hint?: string[];
898
- reviewed?: boolean;
899
- error?: ('feedback_error' | 'transcript_error' | 'summary_error' | 'audio_upload_error' | 'unknown' | null)[];
900
- stagedResponse?: {
901
- audio?: string | null;
902
- fileName?: string | null;
903
- transcript?: string | null;
904
- } | null;
905
- transcriptModel?: 'gemini' | 'assemblyai' | 'whisper';
906
- createdAt?: CustomTimestamp;
907
- completedAt?: CustomTimestamp;
908
- startedAt?: CustomTimestamp;
909
- chatMessages?: {
910
- sender: 'student' | 'teacher' | 'ai';
911
- content: string;
912
- timestamp: CustomTimestamp;
913
- attemptId: string;
914
- messageId: string;
915
- audioUrl: string;
916
- }[] | null;
917
- }
918
-
919
- declare enum AssignmentAnalyticsType {
920
- Macro = "macro",
921
- Gradebook = "gradebook",
922
- Cards = "cards",
923
- Student = "student",
924
- StudentSummary = "student_summary",
925
- All = "all"
926
- }
927
-
928
- declare const createAssignmentRepo: () => {
929
- getAssignment: (params: {
930
- assignmentId: string;
931
- currentUserId: string;
932
- analyticType?: AssignmentAnalyticsType;
933
- studentId?: string;
934
- }) => Promise<AssignmentWithId | {
935
- scores: any;
936
- id: string;
937
- isAvailable: boolean;
938
- name: string;
939
- description: string;
940
- scheduledTime?: string | null;
941
- dueTime?: {
942
- hours: number;
943
- minutes: number;
944
- nanos: number;
945
- };
946
- speakableio: boolean;
947
- owners: string[];
948
- image: {
949
- path: string | null;
950
- url: string;
951
- };
952
- dueDate: {
953
- day: number;
954
- month: number;
955
- year: number;
956
- };
957
- teacherName: string;
958
- courseWorkId: string | null;
959
- dueDateTimestamp: CustomTimestamp;
960
- scheduledTimeTimestamp: number;
961
- active: boolean;
962
- voice: string | null;
963
- setId: string;
964
- dateMade: {
965
- seconds: number;
966
- nanoseconds: number;
967
- };
968
- maxPoints: number;
969
- courseId: string;
970
- isAssessment: boolean;
971
- ltiDeeplink?: string;
972
- content?: string[];
973
- weights?: Record<string, number>;
974
- language?: string;
975
- types?: { [key in ActivityPageType]?: number; };
976
- aiEnabled?: boolean;
977
- chat_experience?: boolean;
978
- showScores?: boolean;
979
- } | null>;
980
- attachScoresAssignment: (args_0: {
981
- assignments: AssignmentWithId[];
982
- analyticType: AssignmentAnalyticsType;
983
- studentId?: string;
984
- currentUserId: string;
985
- }) => Promise<{
986
- scores: any;
987
- id: string;
988
- isAvailable: boolean;
989
- name: string;
990
- description: string;
991
- scheduledTime?: string | null;
992
- dueTime?: {
993
- hours: number;
994
- minutes: number;
995
- nanos: number;
996
- };
997
- speakableio: boolean;
998
- owners: string[];
999
- image: {
1000
- path: string | null;
1001
- url: string;
1002
- };
1003
- dueDate: {
1004
- day: number;
1005
- month: number;
1006
- year: number;
1007
- };
1008
- teacherName: string;
1009
- courseWorkId: string | null;
1010
- dueDateTimestamp: CustomTimestamp;
1011
- scheduledTimeTimestamp: number;
1012
- active: boolean;
1013
- voice: string | null;
1014
- setId: string;
1015
- dateMade: {
1016
- seconds: number;
1017
- nanoseconds: number;
1018
- };
1019
- maxPoints: number;
1020
- courseId: string;
1021
- isAssessment: boolean;
1022
- ltiDeeplink?: string;
1023
- content?: string[];
1024
- weights?: Record<string, number>;
1025
- language?: string;
1026
- types?: { [key in ActivityPageType]?: number; };
1027
- aiEnabled?: boolean;
1028
- chat_experience?: boolean;
1029
- showScores?: boolean;
1030
- }[]>;
1031
- getAssignmentScores: (args_0: {
1032
- assignmentId: string;
1033
- currentUserId: string;
1034
- analyticType?: AssignmentAnalyticsType;
1035
- studentId?: string;
1036
- }) => Promise<{
1037
- scores: unknown;
1038
- id: string;
1039
- } | undefined>;
1040
- getAllAssignments: () => Promise<(AssignmentWithId & {
1041
- id: string;
1042
- })[]>;
1043
- };
1044
-
1045
- declare const assignmentQueryKeys: {
1046
- all: readonly ["assignments"];
1047
- byId: (id: string) => readonly ["assignments", string];
1048
- list: () => readonly ["assignments", "list"];
1049
- };
1050
- declare function useAssignment({ assignmentId, enabled, analyticType, userId, }: {
1051
- assignmentId: string;
1052
- enabled?: boolean;
1053
- analyticType?: AssignmentAnalyticsType;
1054
- userId: string;
1055
- }): _tanstack_react_query.UseQueryResult<AssignmentWithId | {
1056
- scores: any;
1057
- id: string;
1058
- isAvailable: boolean;
1059
- name: string;
1060
- description: string;
1061
- scheduledTime?: string | null;
1062
- dueTime?: {
1063
- hours: number;
1064
- minutes: number;
1065
- nanos: number;
1066
- };
1067
- speakableio: boolean;
1068
- owners: string[];
1069
- image: {
1070
- path: string | null;
1071
- url: string;
1072
- };
1073
- dueDate: {
1074
- day: number;
1075
- month: number;
1076
- year: number;
1077
- };
1078
- teacherName: string;
1079
- courseWorkId: string | null;
1080
- dueDateTimestamp: CustomTimestamp;
1081
- scheduledTimeTimestamp: number;
1082
- active: boolean;
1083
- voice: string | null;
1084
- setId: string;
1085
- dateMade: {
1086
- seconds: number;
1087
- nanoseconds: number;
1088
- };
1089
- maxPoints: number;
1090
- courseId: string;
1091
- isAssessment: boolean;
1092
- ltiDeeplink?: string;
1093
- content?: string[];
1094
- weights?: Record<string, number>;
1095
- language?: string;
1096
- types?: { [key in ActivityPageType]?: number; };
1097
- aiEnabled?: boolean;
1098
- chat_experience?: boolean;
1099
- showScores?: boolean;
1100
- } | null, Error>;
1101
-
1102
- declare const scoreQueryKeys: {
1103
- all: readonly ["scores"];
1104
- byId: (id: string) => readonly ["scores", string];
1105
- list: () => readonly ["scores", "list"];
1106
- };
1107
- declare function useScore({ isAssignment, activityId, userId, courseId, enabled, googleClassroomUserId, }: {
1108
- userId: string;
1109
- isAssignment: boolean;
1110
- activityId: string;
1111
- courseId?: string;
1112
- enabled?: boolean;
1113
- googleClassroomUserId?: string;
1114
- }): _tanstack_react_query.UseQueryResult<ScoreWithId, Error>;
1115
- declare function useUpdateScore(): {
1116
- mutationUpdateScore: _tanstack_react_query.UseMutationResult<Promise<void>, Error, {
1117
- userId: string;
1118
- data: Partial<Score>;
1119
- isAssignment: boolean;
1120
- activityId: string;
1121
- }, {
1122
- previousData: Partial<Score> | undefined;
1123
- }>;
1124
- };
1125
- declare function useUpdateCardScore({ isAssignment, activityId, userId, cardIds, weights, }: {
1126
- isAssignment: boolean;
1127
- userId: string;
1128
- activityId: string;
1129
- cardIds: string[];
1130
- weights: Record<string, number>;
1131
- }): {
1132
- mutationUpdateCardScore: _tanstack_react_query.UseMutationResult<{
1133
- cardId: string;
1134
- scoresUpdated: Score;
1135
- }, Error, {
1136
- cardId: string;
1137
- cardScore: PageScore;
1138
- }, {
1139
- previousData: Score | undefined;
1140
- }>;
1141
- };
1142
- declare function useClearScore(): {
1143
- mutationClearScore: _tanstack_react_query.UseMutationResult<{
1144
- update: Partial<Score>;
1145
- activityId: string;
1146
- }, Error, {
1147
- isAssignment: boolean;
1148
- cardId: string;
1149
- cardScores: PageScore;
1150
- userId: string;
1151
- activityId: string;
1152
- }, unknown>;
1153
- };
1154
- declare function useClearScoreV2(): {
1155
- mutationClearScore: _tanstack_react_query.UseMutationResult<{
1156
- update: Partial<Score>;
1157
- activityId: string;
1158
- }, Error, {
1159
- isAssignment: boolean;
1160
- cardId: string;
1161
- cardScores: PageScore;
1162
- userId: string;
1163
- activityId: string;
1164
- }, unknown>;
1165
- };
1166
- declare function useSubmitAssignmentScore({ onAssignmentSubmitted, studentName, }: {
1167
- onAssignmentSubmitted: (assignmentId: string) => void;
1168
- studentName: string;
1169
- }): {
1170
- submitAssignmentScore: _tanstack_react_query.UseMutateAsyncFunction<{
1171
- success: boolean;
1172
- message: string;
1173
- error?: undefined;
1174
- } | {
1175
- success: boolean;
1176
- error: unknown;
1177
- message?: undefined;
1178
- }, Error, {
1179
- assignment: {
1180
- id: string;
1181
- name: string;
1182
- owners: string[];
1183
- courseId: string;
1184
- courseWorkId: string;
1185
- isAssessment: boolean;
1186
- maxPoints: number;
1187
- };
1188
- userId: string;
1189
- scores: Score;
1190
- status: Score["status"];
1191
- }, unknown>;
1192
- isLoading: boolean;
1193
- };
1194
- declare function useSubmitPracticeScore(): {
1195
- submitPracticeScore: _tanstack_react_query.UseMutateAsyncFunction<{
1196
- success: boolean;
1197
- message: string;
1198
- error?: undefined;
1199
- } | {
1200
- success: boolean;
1201
- error: unknown;
1202
- message?: undefined;
1203
- }, Error, {
1204
- setId: string;
1205
- userId: string;
1206
- scores: Score;
1207
- }, unknown>;
1208
- isLoading: boolean;
1209
- };
1210
-
1211
- interface SetWithId extends Set {
1212
- id: string;
1213
- }
1214
- interface Set {
1215
- id: string;
1216
- language: string;
1217
- ownerName: string;
1218
- weights: Record<string, number>;
1219
- repeat?: number;
1220
- voice?: string;
1221
- averagePhraseLength?: number;
1222
- passing_score?: number;
1223
- organizations?: string[];
1224
- description: string;
1225
- image: {
1226
- url: string;
1227
- path: null | string;
1228
- };
1229
- additionalLanguages?: string[];
1230
- owners: string[];
1231
- name: string;
1232
- content: string[];
1233
- types: {
1234
- [key in ActivityPageType]?: number;
1235
- };
1236
- defaultLanguage: string;
1237
- createdAt: FieldValue;
1238
- public: boolean;
1239
- defaultRubricId?: string;
1240
- difficulty?: string;
1241
- end_screen?: {
1242
- variant: 0 | 1 | 2;
1243
- title: string;
1244
- description: string;
1245
- };
1246
- mcAllowRetries?: boolean;
1247
- welcome_screen?: {
1248
- variant: 'colored' | 'blank';
1249
- };
1250
- poorFunctionalityWarning?: boolean;
1251
- status?: 'draft' | 'published';
1252
- subjects?: any[];
1253
- respondAllowRetries?: boolean;
1254
- respondAllowTTS?: boolean;
1255
- feedbackLanguage?: string;
1256
- respondMaxCharacters?: number;
1257
- respondMaxTime?: number;
1258
- respondLimitAttempts?: boolean;
1259
- respondMaxAttempts?: number;
1260
- mcLimitAttempts?: boolean;
1261
- mcMaxAttempts?: number;
1262
- shortAnswerLimitAttempts?: boolean;
1263
- shortAnswerMaxAttempts?: number;
1264
- isTemplate?: boolean;
1265
- }
1266
-
1267
- declare const setsQueryKeys: {
1268
- all: string[];
1269
- one: (params: {
1270
- setId: string;
1271
- }) => string[];
1272
- };
1273
- declare const useSet: ({ setId, enabled }: {
1274
- setId: string;
1275
- enabled?: boolean;
1276
- }) => _tanstack_react_query.UseQueryResult<SetWithId | null, Error>;
1277
- declare function getSetFromCache({ setId, queryClient, }: {
1278
- setId: string | undefined;
1279
- queryClient: QueryClient;
1280
- }): SetWithId | null | undefined;
1281
- declare function updateSetInCache({ set, queryClient, }: {
1282
- set: SetWithId;
1283
- queryClient: QueryClient;
1284
- }): void;
1285
-
1286
- declare const SETS_COLLECTION = "sets";
1287
- type RefsSetsFirestore = `${typeof SETS_COLLECTION}/${string}`;
1288
- declare const refsSetsFirestore: {
1289
- allSets: string;
1290
- set: (id: string) => `sets/${string}`;
1291
- };
1292
-
1293
- declare const createSetRepo: () => {
1294
- getSet: (args_0: {
1295
- setId: string;
1296
- }) => Promise<SetWithId | null>;
1297
- };
1298
-
1299
- declare const SPEAKABLE_NOTIFICATIONS: {
1300
- readonly NEW_ASSIGNMENT: "new_assignment";
1301
- readonly ASSESSMENT_SUBMITTED: "assessment_submitted";
1302
- readonly ASSESSMENT_SCORED: "assessment_scored";
1303
- readonly NEW_COMMENT: "NEW_COMMENT";
1304
- };
1305
- type SpeakableNotificationType = (typeof SPEAKABLE_NOTIFICATIONS)[keyof typeof SPEAKABLE_NOTIFICATIONS];
1306
- declare const SpeakableNotificationTypes: {
1307
- NEW_ASSIGNMENT: string;
1308
- FEEDBACK_FROM_TEACHER: string;
1309
- MESSAGE_FROM_STUDENT: string;
1310
- PHRASE_MARKED_CORRECT: string;
1311
- STUDENT_PROGRESS: string;
1312
- PLAYLIST_FOLLOWERS: string;
1313
- PLAYLIST_PLAYS: string;
1314
- ASSESSMENT_SUBMITTED: string;
1315
- ASSESSMENT_SCORED: string;
1316
- NEW_COMMENT: string;
1317
- };
1318
-
1319
- declare const useCreateNotification: () => {
1320
- createNotification: (type: SpeakableNotificationType, data: any) => Promise<any>;
1321
- };
1322
-
1323
- type FsClient = ReturnType<typeof createFsClientBase>;
1324
- type FsClientParams = Omit<Parameters<typeof createFsClientBase>[0], 'helpers'>;
1325
- declare function createFsClientBase({ db, helpers, httpsCallable, logEvent, }: {
1326
- db: FirebaseInstance;
1327
- helpers: FirestoreHelpers;
1328
- httpsCallable: (name: string) => CallableFunction;
1329
- logEvent: (name: string, data: any) => void;
1330
- }): {
1331
- assignmentRepo: {
1332
- getAssignment: (params: {
1333
- assignmentId: string;
1334
- currentUserId: string;
1335
- analyticType?: AssignmentAnalyticsType;
1336
- studentId?: string;
1337
- }) => Promise<AssignmentWithId | {
1338
- scores: any;
1339
- id: string;
1340
- isAvailable: boolean;
1341
- name: string;
1342
- description: string;
1343
- scheduledTime?: string | null;
1344
- dueTime?: {
1345
- hours: number;
1346
- minutes: number;
1347
- nanos: number;
1348
- };
1349
- speakableio: boolean;
1350
- owners: string[];
1351
- image: {
1352
- path: string | null;
1353
- url: string;
1354
- };
1355
- dueDate: {
1356
- day: number;
1357
- month: number;
1358
- year: number;
1359
- };
1360
- teacherName: string;
1361
- courseWorkId: string | null;
1362
- dueDateTimestamp: CustomTimestamp;
1363
- scheduledTimeTimestamp: number;
1364
- active: boolean;
1365
- voice: string | null;
1366
- setId: string;
1367
- dateMade: {
1368
- seconds: number;
1369
- nanoseconds: number;
1370
- };
1371
- maxPoints: number;
1372
- courseId: string;
1373
- isAssessment: boolean;
1374
- ltiDeeplink?: string;
1375
- content?: string[];
1376
- weights?: Record<string, number>;
1377
- language?: string;
1378
- types?: { [key in ActivityPageType]?: number; };
1379
- aiEnabled?: boolean;
1380
- chat_experience?: boolean;
1381
- showScores?: boolean;
1382
- } | null>;
1383
- attachScoresAssignment: (args_0: {
1384
- assignments: AssignmentWithId[];
1385
- analyticType: AssignmentAnalyticsType;
1386
- studentId?: string;
1387
- currentUserId: string;
1388
- }) => Promise<{
1389
- scores: any;
1390
- id: string;
1391
- isAvailable: boolean;
1392
- name: string;
1393
- description: string;
1394
- scheduledTime?: string | null;
1395
- dueTime?: {
1396
- hours: number;
1397
- minutes: number;
1398
- nanos: number;
1399
- };
1400
- speakableio: boolean;
1401
- owners: string[];
1402
- image: {
1403
- path: string | null;
1404
- url: string;
1405
- };
1406
- dueDate: {
1407
- day: number;
1408
- month: number;
1409
- year: number;
1410
- };
1411
- teacherName: string;
1412
- courseWorkId: string | null;
1413
- dueDateTimestamp: CustomTimestamp;
1414
- scheduledTimeTimestamp: number;
1415
- active: boolean;
1416
- voice: string | null;
1417
- setId: string;
1418
- dateMade: {
1419
- seconds: number;
1420
- nanoseconds: number;
1421
- };
1422
- maxPoints: number;
1423
- courseId: string;
1424
- isAssessment: boolean;
1425
- ltiDeeplink?: string;
1426
- content?: string[];
1427
- weights?: Record<string, number>;
1428
- language?: string;
1429
- types?: { [key in ActivityPageType]?: number; };
1430
- aiEnabled?: boolean;
1431
- chat_experience?: boolean;
1432
- showScores?: boolean;
1433
- }[]>;
1434
- getAssignmentScores: (args_0: {
1435
- assignmentId: string;
1436
- currentUserId: string;
1437
- analyticType?: AssignmentAnalyticsType;
1438
- studentId?: string;
1439
- }) => Promise<{
1440
- scores: unknown;
1441
- id: string;
1442
- } | undefined>;
1443
- getAllAssignments: () => Promise<(AssignmentWithId & {
1444
- id: string;
1445
- })[]>;
1446
- };
1447
- cardRepo: {
1448
- createCard: (args_0: {
1449
- data: Partial<PageActivity>;
1450
- }) => Promise<{
1451
- id: string;
1452
- } & Partial<PageActivity>>;
1453
- createCards: (args_0: {
1454
- cards: PageActivity[];
1455
- }) => Promise<{
1456
- id: string;
1457
- owners: string[];
1458
- checked?: boolean;
1459
- completed?: boolean;
1460
- media_area_id?: string | null;
1461
- media_area_layout?: "left" | "right" | null;
1462
- media?: MediaPageActivity | null;
1463
- score?: number;
1464
- verificationStatus?: VerificationCardStatus;
1465
- native_text?: string;
1466
- repeat?: number;
1467
- language?: string | null;
1468
- image?: {
1469
- path?: string | null;
1470
- url?: string;
1471
- };
1472
- audio?: {
1473
- path?: string | null;
1474
- url?: string;
1475
- } | null;
1476
- notes?: string;
1477
- difficulty?: string;
1478
- default_language?: string;
1479
- target_text?: string;
1480
- type: ActivityPageType;
1481
- grading_criteria?: string;
1482
- grading_criteria_title?: string;
1483
- scoring_type?: string;
1484
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
1485
- feedback_types?: FeedbackTypesCard[];
1486
- rubricId?: string;
1487
- prompt?: string;
1488
- title?: string;
1489
- passing_score?: number;
1490
- maxCharacters?: number;
1491
- answer?: string[];
1492
- choices?: {
1493
- value: string;
1494
- option: string;
1495
- }[];
1496
- MCQType?: string;
1497
- multipleAttemptsAllowed?: boolean;
1498
- allowRetries?: boolean;
1499
- question?: string;
1500
- respondTime?: number;
1501
- hidePrompt?: boolean;
1502
- videoUrl?: string;
1503
- link?: string;
1504
- text?: string;
1505
- isListenAloud?: boolean;
1506
- embedCode?: string;
1507
- attempt?: number;
1508
- correct?: number;
1509
- autoGrade?: boolean;
1510
- points?: number;
1511
- shuffle?: boolean;
1512
- translation?: string;
1513
- includeAIContext?: boolean;
1514
- media_area_context_ref?: string | null;
1515
- standardId?: string;
1516
- target_proficiency_level?: string;
1517
- allowTTS?: boolean;
1518
- feedback_language?: string | null;
1519
- correct_answer?: string | null;
1520
- limit_attempts?: boolean;
1521
- max_attempts?: number;
1522
- rich_text?: string;
1523
- feedbackOff?: boolean;
1524
- correct_answer_exact_match?: boolean;
1525
- ai_context_block_ids?: string[];
1526
- resolvedContext?: string;
1527
- goal?: string;
1528
- mode?: ConversationPageMode;
1529
- personality?: string;
1530
- voice?: string;
1531
- topic?: string;
1532
- vocab?: string[];
1533
- questions?: string[];
1534
- showHints?: boolean;
1535
- }[]>;
1536
- getCard: (params: {
1537
- cardId: string;
1538
- }) => Promise<{
1539
- type: ActivityPageType;
1540
- id: string;
1541
- owners: string[];
1542
- checked?: boolean;
1543
- completed?: boolean;
1544
- media_area_id?: string | null;
1545
- media_area_layout?: "left" | "right" | null;
1546
- media?: MediaPageActivity | null;
1547
- score?: number;
1548
- verificationStatus?: VerificationCardStatus;
1549
- native_text?: string;
1550
- repeat?: number;
1551
- language?: string | null;
1552
- image?: {
1553
- path?: string | null;
1554
- url?: string;
1555
- };
1556
- audio?: {
1557
- path?: string | null;
1558
- url?: string;
1559
- } | null;
1560
- notes?: string;
1561
- difficulty?: string;
1562
- default_language?: string;
1563
- target_text?: string;
1564
- grading_criteria?: string;
1565
- grading_criteria_title?: string;
1566
- scoring_type?: string;
1567
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
1568
- feedback_types?: FeedbackTypesCard[];
1569
- rubricId?: string;
1570
- prompt?: string;
1571
- title?: string;
1572
- passing_score?: number;
1573
- maxCharacters?: number;
1574
- answer?: string[];
1575
- choices?: {
1576
- value: string;
1577
- option: string;
1578
- }[];
1579
- MCQType?: string;
1580
- multipleAttemptsAllowed?: boolean;
1581
- allowRetries?: boolean;
1582
- question?: string;
1583
- respondTime?: number;
1584
- hidePrompt?: boolean;
1585
- videoUrl?: string;
1586
- link?: string;
1587
- text?: string;
1588
- isListenAloud?: boolean;
1589
- embedCode?: string;
1590
- attempt?: number;
1591
- correct?: number;
1592
- autoGrade?: boolean;
1593
- points?: number;
1594
- shuffle?: boolean;
1595
- translation?: string;
1596
- includeAIContext?: boolean;
1597
- media_area_context_ref?: string | null;
1598
- standardId?: string;
1599
- target_proficiency_level?: string;
1600
- allowTTS?: boolean;
1601
- feedback_language?: string | null;
1602
- correct_answer?: string | null;
1603
- limit_attempts?: boolean;
1604
- max_attempts?: number;
1605
- rich_text?: string;
1606
- feedbackOff?: boolean;
1607
- correct_answer_exact_match?: boolean;
1608
- ai_context_block_ids?: string[];
1609
- resolvedContext?: string;
1610
- goal?: string;
1611
- mode?: ConversationPageMode;
1612
- personality?: string;
1613
- voice?: string;
1614
- topic?: string;
1615
- vocab?: string[];
1616
- questions?: string[];
1617
- showHints?: boolean;
1618
- } | null>;
1619
- };
1620
- };
1621
-
1622
- interface UserProfile {
1623
- googleClassroomUserId: string;
1624
- image: {
1625
- url: string;
1626
- path: string;
1627
- };
1628
- displayName: string;
1629
- isTeacher?: boolean;
1630
- isStudent?: boolean;
1631
- roles?: string[];
1632
- }
1633
- interface UserAuth {
1634
- uid: string;
1635
- email: string;
1636
- displayName: string | null;
1637
- }
1638
- interface Lti {
1639
- data: {
1640
- services: {
1641
- serviceKey: string;
1642
- };
1643
- };
1644
- }
1645
- interface User {
1646
- profile: UserProfile;
1647
- auth: UserAuth;
1648
- lti: Lti;
1649
- roles: string[];
1650
- }
1651
-
1652
- declare const SpeakablePlanTypes: {
1653
- readonly basic: "basic";
1654
- readonly teacher_pro: "teacher_pro";
1655
- readonly school_starter: "school_starter";
1656
- readonly organization: "organization";
1657
- readonly starter: "starter";
1658
- readonly growth: "growth";
1659
- readonly professional: "professional";
1660
- };
1661
-
1662
- interface Permissions {
1663
- loaded: boolean;
1664
- loading: boolean;
1665
- permissions: string[];
1666
- plan: keyof typeof SpeakablePlanTypes;
1667
- subscriptionId: string;
1668
- isInstitutionPlan: boolean;
1669
- type: string;
1670
- contact: string;
1671
- hasStudentPortfolios?: boolean;
1672
- refreshDate: string;
1673
- isStripePlan: boolean;
1674
- freeOrgTrialExpired?: boolean;
1675
- }
1676
-
1677
- interface FsContext {
1678
- speakableApi: Awaited<FsClient>;
1679
- queryClient: QueryClient;
1680
- user: User;
1681
- permissions: Permissions;
1682
- }
1683
- declare const FsCtx: React.Context<FsContext | null>;
1684
- declare function SpeakableProvider({ user, children, queryClient, permissions, fsClient, }: {
1685
- children: React.ReactNode;
1686
- fsClient: FsClient;
1687
- permissions: Permissions;
1688
- queryClient: QueryClient;
1689
- user: User;
1690
- }): react_jsx_runtime.JSX.Element | null;
1691
- declare function useSpeakableApi(): FsContext;
1692
-
1693
- declare function getTranscript(model: 'gemini' | 'assemblyai' | 'whisper', args: {
1694
- language: string;
1695
- audioUrl: string;
1696
- prompt?: string;
1697
- }, cleanHallucinations?: boolean): Promise<string | null>;
1698
- declare function getTranscriptCycle(args: {
1699
- audioUrl: string;
1700
- language: string;
1701
- prompt: string;
1702
- }): Promise<{
1703
- transcript: string;
1704
- success: boolean;
1705
- }>;
1706
-
1707
- declare const getRespondCardTool: ({ language, standard, }: {
1708
- language: string;
1709
- standard: string;
1710
- }) => {
1711
- tool_choice: {
1712
- type: string;
1713
- function: {
1714
- name: string;
1715
- };
1716
- };
1717
- tools: {
1718
- type: string;
1719
- function: {
1720
- name: string;
1721
- description: string;
1722
- parameters: {
1723
- type: string;
1724
- required: string[];
1725
- properties: {
1726
- success: {
1727
- type: string;
1728
- description: string;
1729
- };
1730
- errors: {
1731
- type: string;
1732
- items: {
1733
- type: string;
1734
- required: string[];
1735
- properties: {
1736
- error: {
1737
- type: string;
1738
- description: string;
1739
- };
1740
- correction: {
1741
- type: string;
1742
- description: string;
1743
- };
1744
- justification: {
1745
- type: string;
1746
- description: string;
1747
- };
1748
- grammar_error_type: {
1749
- type: string;
1750
- enum: string[];
1751
- description: string;
1752
- };
1753
- };
1754
- };
1755
- description: string;
1756
- };
1757
- compliments: {
1758
- type: string;
1759
- items: {
1760
- type: string;
1761
- };
1762
- description: string;
1763
- };
1764
- improvedResponse: {
1765
- type: string;
1766
- description: string;
1767
- };
1768
- score: {
1769
- type: string;
1770
- description: string;
1771
- };
1772
- score_justification: {
1773
- type: string;
1774
- description: string;
1775
- };
1776
- };
1777
- };
1778
- };
1779
- }[];
1780
- };
1781
-
1782
- declare function debounce<T extends (...args: any[]) => Promise<any>>(func: T, waitFor: number): (...args: Parameters<T>) => Promise<ReturnType<T>>;
1783
-
1784
- declare const purify: (word: string) => string;
1785
- declare const cleanString: (words: string) => string | string[];
1786
- declare const getWordHash: (word: string, language: string) => string;
1787
- declare function getPhraseLength(phrase: string, input?: string): number;
1788
-
1789
- declare function useActivity({ id, isAssignment, onAssignmentSubmitted, ltiData, }: {
1790
- id: string;
1791
- isAssignment: boolean;
1792
- onAssignmentSubmitted: (assignmentId: string) => void;
1793
- ltiData?: {
1794
- lineItemId?: string;
1795
- lti_id?: string;
1796
- serviceKey?: string;
1797
- };
1798
- }): {
1799
- set: {
1800
- data: SetWithId | null | undefined;
1801
- query: _tanstack_react_query.UseQueryResult<SetWithId | null, Error>;
1802
- };
1803
- cards: {
1804
- data: Record<string, PageActivityWithId> | null;
1805
- query: _tanstack_react_query.UseQueryResult<{
1806
- type: ActivityPageType;
1807
- id: string;
1808
- owners: string[];
1809
- checked?: boolean;
1810
- completed?: boolean;
1811
- media_area_id?: string | null;
1812
- media_area_layout?: "left" | "right" | null;
1813
- media?: MediaPageActivity | null;
1814
- score?: number;
1815
- verificationStatus?: VerificationCardStatus;
1816
- native_text?: string;
1817
- repeat?: number;
1818
- language?: string | null;
1819
- image?: {
1820
- path?: string | null;
1821
- url?: string;
1822
- };
1823
- audio?: {
1824
- path?: string | null;
1825
- url?: string;
1826
- } | null;
1827
- notes?: string;
1828
- difficulty?: string;
1829
- default_language?: string;
1830
- target_text?: string;
1831
- grading_criteria?: string;
1832
- grading_criteria_title?: string;
1833
- scoring_type?: string;
1834
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
1835
- feedback_types?: FeedbackTypesCard[];
1836
- rubricId?: string;
1837
- prompt?: string;
1838
- title?: string;
1839
- passing_score?: number;
1840
- maxCharacters?: number;
1841
- answer?: string[];
1842
- choices?: {
1843
- value: string;
1844
- option: string;
1845
- }[];
1846
- MCQType?: string;
1847
- multipleAttemptsAllowed?: boolean;
1848
- allowRetries?: boolean;
1849
- question?: string;
1850
- respondTime?: number;
1851
- hidePrompt?: boolean;
1852
- videoUrl?: string;
1853
- link?: string;
1854
- text?: string;
1855
- isListenAloud?: boolean;
1856
- embedCode?: string;
1857
- attempt?: number;
1858
- correct?: number;
1859
- autoGrade?: boolean;
1860
- points?: number;
1861
- shuffle?: boolean;
1862
- translation?: string;
1863
- includeAIContext?: boolean;
1864
- media_area_context_ref?: string | null;
1865
- standardId?: string;
1866
- target_proficiency_level?: string;
1867
- allowTTS?: boolean;
1868
- feedback_language?: string | null;
1869
- correct_answer?: string | null;
1870
- limit_attempts?: boolean;
1871
- max_attempts?: number;
1872
- rich_text?: string;
1873
- feedbackOff?: boolean;
1874
- correct_answer_exact_match?: boolean;
1875
- ai_context_block_ids?: string[];
1876
- resolvedContext?: string;
1877
- goal?: string;
1878
- mode?: ConversationPageMode;
1879
- personality?: string;
1880
- voice?: string;
1881
- topic?: string;
1882
- vocab?: string[];
1883
- questions?: string[];
1884
- showHints?: boolean;
1885
- } | null, Error>[];
1886
- cardsArray: PageActivityWithId[];
1887
- };
1888
- assignment: {
1889
- data: AssignmentWithId | {
1890
- scores: any;
1891
- id: string;
1892
- isAvailable: boolean;
1893
- name: string;
1894
- description: string;
1895
- scheduledTime?: string | null;
1896
- dueTime?: {
1897
- hours: number;
1898
- minutes: number;
1899
- nanos: number;
1900
- };
1901
- speakableio: boolean;
1902
- owners: string[];
1903
- image: {
1904
- path: string | null;
1905
- url: string;
1906
- };
1907
- dueDate: {
1908
- day: number;
1909
- month: number;
1910
- year: number;
1911
- };
1912
- teacherName: string;
1913
- courseWorkId: string | null;
1914
- dueDateTimestamp: CustomTimestamp;
1915
- scheduledTimeTimestamp: number;
1916
- active: boolean;
1917
- voice: string | null;
1918
- setId: string;
1919
- dateMade: {
1920
- seconds: number;
1921
- nanoseconds: number;
1922
- };
1923
- maxPoints: number;
1924
- courseId: string;
1925
- isAssessment: boolean;
1926
- ltiDeeplink?: string;
1927
- content?: string[];
1928
- weights?: Record<string, number>;
1929
- language?: string;
1930
- types?: { [key in ActivityPageType]?: number; };
1931
- aiEnabled?: boolean;
1932
- chat_experience?: boolean;
1933
- showScores?: boolean;
1934
- } | null | undefined;
1935
- query: _tanstack_react_query.UseQueryResult<AssignmentWithId | {
1936
- scores: any;
1937
- id: string;
1938
- isAvailable: boolean;
1939
- name: string;
1940
- description: string;
1941
- scheduledTime?: string | null;
1942
- dueTime?: {
1943
- hours: number;
1944
- minutes: number;
1945
- nanos: number;
1946
- };
1947
- speakableio: boolean;
1948
- owners: string[];
1949
- image: {
1950
- path: string | null;
1951
- url: string;
1952
- };
1953
- dueDate: {
1954
- day: number;
1955
- month: number;
1956
- year: number;
1957
- };
1958
- teacherName: string;
1959
- courseWorkId: string | null;
1960
- dueDateTimestamp: CustomTimestamp;
1961
- scheduledTimeTimestamp: number;
1962
- active: boolean;
1963
- voice: string | null;
1964
- setId: string;
1965
- dateMade: {
1966
- seconds: number;
1967
- nanoseconds: number;
1968
- };
1969
- maxPoints: number;
1970
- courseId: string;
1971
- isAssessment: boolean;
1972
- ltiDeeplink?: string;
1973
- content?: string[];
1974
- weights?: Record<string, number>;
1975
- language?: string;
1976
- types?: { [key in ActivityPageType]?: number; };
1977
- aiEnabled?: boolean;
1978
- chat_experience?: boolean;
1979
- showScores?: boolean;
1980
- } | null, Error>;
1981
- };
1982
- scores: {
1983
- data: ScoreWithId | undefined;
1984
- query: _tanstack_react_query.UseQueryResult<ScoreWithId, Error>;
1985
- actions: {
1986
- update: (data: Partial<Score>) => void;
1987
- clear: ({ cardId, wasCompleted, }: {
1988
- cardId: string;
1989
- wasCompleted?: boolean;
1990
- }) => void;
1991
- submit: () => Promise<{
1992
- success: boolean;
1993
- message: string;
1994
- error?: undefined;
1995
- } | {
1996
- success: boolean;
1997
- error: unknown;
1998
- message?: undefined;
1999
- }>;
2000
- updateCard: (cardId: string, cardScore: PageScore) => void;
2001
- logGradingStandardEntry: ({ cardId, gradingStandard, type, }: {
2002
- cardId: string;
2003
- gradingStandard: {
2004
- level: string;
2005
- justification: string;
2006
- };
2007
- type: "actfl" | "wida" | "custom";
2008
- }) => void;
2009
- };
2010
- };
2011
- };
2012
-
2013
- interface CreditContract {
2014
- allocationSource: string;
2015
- createdAt: string;
2016
- creditsAllocatedThisPeriod: number;
2017
- effectivePlanId: string;
2018
- email: string;
2019
- isUnlimited: boolean;
2020
- lastUpdatedAt: string;
2021
- ownerType: string;
2022
- periodStart: string;
2023
- periodEnd: string;
2024
- planTermEndTimestamp: string | null;
2025
- sourceDetails: Record<string, unknown>;
2026
- creditsAvailable?: number;
2027
- topOffCreditsAvailable?: number;
2028
- }
2029
- declare const creditQueryKeys: {
2030
- userCredits: (uid: string) => readonly ["userCredits", string];
2031
- };
2032
- declare const useUserCredits: () => {
2033
- data: {
2034
- id: string;
2035
- userId: string;
2036
- email: string;
2037
- effectivePlanId: string;
2038
- status: string;
2039
- isUnlimited: boolean;
2040
- creditsAvailable: number;
2041
- creditsAllocatedThisPeriod: number;
2042
- topOffCreditsAvailable: number;
2043
- topOffCreditsTotal: number;
2044
- allocationSource: string;
2045
- sourceDetails: {};
2046
- periodStart: null;
2047
- periodEnd: null;
2048
- planTermEndTimestamp: null;
2049
- ownerType: string;
2050
- createdAt: string;
2051
- lastUpdatedAt: string;
2052
- } | {
2053
- totalCreditsAvailable: number;
2054
- allocationSource: string;
2055
- createdAt: string;
2056
- creditsAllocatedThisPeriod: number;
2057
- effectivePlanId: string;
2058
- email: string;
2059
- isUnlimited: boolean;
2060
- lastUpdatedAt: string;
2061
- ownerType: string;
2062
- periodStart: string;
2063
- periodEnd: string;
2064
- planTermEndTimestamp: string | null;
2065
- sourceDetails: Record<string, unknown>;
2066
- creditsAvailable?: number;
2067
- topOffCreditsAvailable?: number;
2068
- id: string;
2069
- userId?: undefined;
2070
- status?: undefined;
2071
- topOffCreditsTotal?: undefined;
2072
- };
2073
- error: Error;
2074
- isError: true;
2075
- isPending: false;
2076
- isLoading: false;
2077
- isLoadingError: false;
2078
- isRefetchError: true;
2079
- isSuccess: false;
2080
- isPlaceholderData: false;
2081
- status: "error";
2082
- dataUpdatedAt: number;
2083
- errorUpdatedAt: number;
2084
- failureCount: number;
2085
- failureReason: Error | null;
2086
- errorUpdateCount: number;
2087
- isFetched: boolean;
2088
- isFetchedAfterMount: boolean;
2089
- isFetching: boolean;
2090
- isInitialLoading: boolean;
2091
- isPaused: boolean;
2092
- isRefetching: boolean;
2093
- isStale: boolean;
2094
- isEnabled: boolean;
2095
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
2096
- id: string;
2097
- userId: string;
2098
- email: string;
2099
- effectivePlanId: string;
2100
- status: string;
2101
- isUnlimited: boolean;
2102
- creditsAvailable: number;
2103
- creditsAllocatedThisPeriod: number;
2104
- topOffCreditsAvailable: number;
2105
- topOffCreditsTotal: number;
2106
- allocationSource: string;
2107
- sourceDetails: {};
2108
- periodStart: null;
2109
- periodEnd: null;
2110
- planTermEndTimestamp: null;
2111
- ownerType: string;
2112
- createdAt: string;
2113
- lastUpdatedAt: string;
2114
- } | {
2115
- totalCreditsAvailable: number;
2116
- allocationSource: string;
2117
- createdAt: string;
2118
- creditsAllocatedThisPeriod: number;
2119
- effectivePlanId: string;
2120
- email: string;
2121
- isUnlimited: boolean;
2122
- lastUpdatedAt: string;
2123
- ownerType: string;
2124
- periodStart: string;
2125
- periodEnd: string;
2126
- planTermEndTimestamp: string | null;
2127
- sourceDetails: Record<string, unknown>;
2128
- creditsAvailable?: number;
2129
- topOffCreditsAvailable?: number;
2130
- id: string;
2131
- userId?: undefined;
2132
- status?: undefined;
2133
- topOffCreditsTotal?: undefined;
2134
- }, Error>>;
2135
- fetchStatus: _tanstack_react_query.FetchStatus;
2136
- promise: Promise<{
2137
- id: string;
2138
- userId: string;
2139
- email: string;
2140
- effectivePlanId: string;
2141
- status: string;
2142
- isUnlimited: boolean;
2143
- creditsAvailable: number;
2144
- creditsAllocatedThisPeriod: number;
2145
- topOffCreditsAvailable: number;
2146
- topOffCreditsTotal: number;
2147
- allocationSource: string;
2148
- sourceDetails: {};
2149
- periodStart: null;
2150
- periodEnd: null;
2151
- planTermEndTimestamp: null;
2152
- ownerType: string;
2153
- createdAt: string;
2154
- lastUpdatedAt: string;
2155
- } | {
2156
- totalCreditsAvailable: number;
2157
- allocationSource: string;
2158
- createdAt: string;
2159
- creditsAllocatedThisPeriod: number;
2160
- effectivePlanId: string;
2161
- email: string;
2162
- isUnlimited: boolean;
2163
- lastUpdatedAt: string;
2164
- ownerType: string;
2165
- periodStart: string;
2166
- periodEnd: string;
2167
- planTermEndTimestamp: string | null;
2168
- sourceDetails: Record<string, unknown>;
2169
- creditsAvailable?: number;
2170
- topOffCreditsAvailable?: number;
2171
- id: string;
2172
- userId?: undefined;
2173
- status?: undefined;
2174
- topOffCreditsTotal?: undefined;
2175
- }>;
2176
- } | {
2177
- data: {
2178
- id: string;
2179
- userId: string;
2180
- email: string;
2181
- effectivePlanId: string;
2182
- status: string;
2183
- isUnlimited: boolean;
2184
- creditsAvailable: number;
2185
- creditsAllocatedThisPeriod: number;
2186
- topOffCreditsAvailable: number;
2187
- topOffCreditsTotal: number;
2188
- allocationSource: string;
2189
- sourceDetails: {};
2190
- periodStart: null;
2191
- periodEnd: null;
2192
- planTermEndTimestamp: null;
2193
- ownerType: string;
2194
- createdAt: string;
2195
- lastUpdatedAt: string;
2196
- } | {
2197
- totalCreditsAvailable: number;
2198
- allocationSource: string;
2199
- createdAt: string;
2200
- creditsAllocatedThisPeriod: number;
2201
- effectivePlanId: string;
2202
- email: string;
2203
- isUnlimited: boolean;
2204
- lastUpdatedAt: string;
2205
- ownerType: string;
2206
- periodStart: string;
2207
- periodEnd: string;
2208
- planTermEndTimestamp: string | null;
2209
- sourceDetails: Record<string, unknown>;
2210
- creditsAvailable?: number;
2211
- topOffCreditsAvailable?: number;
2212
- id: string;
2213
- userId?: undefined;
2214
- status?: undefined;
2215
- topOffCreditsTotal?: undefined;
2216
- };
2217
- error: null;
2218
- isError: false;
2219
- isPending: false;
2220
- isLoading: false;
2221
- isLoadingError: false;
2222
- isRefetchError: false;
2223
- isSuccess: true;
2224
- isPlaceholderData: false;
2225
- status: "success";
2226
- dataUpdatedAt: number;
2227
- errorUpdatedAt: number;
2228
- failureCount: number;
2229
- failureReason: Error | null;
2230
- errorUpdateCount: number;
2231
- isFetched: boolean;
2232
- isFetchedAfterMount: boolean;
2233
- isFetching: boolean;
2234
- isInitialLoading: boolean;
2235
- isPaused: boolean;
2236
- isRefetching: boolean;
2237
- isStale: boolean;
2238
- isEnabled: boolean;
2239
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
2240
- id: string;
2241
- userId: string;
2242
- email: string;
2243
- effectivePlanId: string;
2244
- status: string;
2245
- isUnlimited: boolean;
2246
- creditsAvailable: number;
2247
- creditsAllocatedThisPeriod: number;
2248
- topOffCreditsAvailable: number;
2249
- topOffCreditsTotal: number;
2250
- allocationSource: string;
2251
- sourceDetails: {};
2252
- periodStart: null;
2253
- periodEnd: null;
2254
- planTermEndTimestamp: null;
2255
- ownerType: string;
2256
- createdAt: string;
2257
- lastUpdatedAt: string;
2258
- } | {
2259
- totalCreditsAvailable: number;
2260
- allocationSource: string;
2261
- createdAt: string;
2262
- creditsAllocatedThisPeriod: number;
2263
- effectivePlanId: string;
2264
- email: string;
2265
- isUnlimited: boolean;
2266
- lastUpdatedAt: string;
2267
- ownerType: string;
2268
- periodStart: string;
2269
- periodEnd: string;
2270
- planTermEndTimestamp: string | null;
2271
- sourceDetails: Record<string, unknown>;
2272
- creditsAvailable?: number;
2273
- topOffCreditsAvailable?: number;
2274
- id: string;
2275
- userId?: undefined;
2276
- status?: undefined;
2277
- topOffCreditsTotal?: undefined;
2278
- }, Error>>;
2279
- fetchStatus: _tanstack_react_query.FetchStatus;
2280
- promise: Promise<{
2281
- id: string;
2282
- userId: string;
2283
- email: string;
2284
- effectivePlanId: string;
2285
- status: string;
2286
- isUnlimited: boolean;
2287
- creditsAvailable: number;
2288
- creditsAllocatedThisPeriod: number;
2289
- topOffCreditsAvailable: number;
2290
- topOffCreditsTotal: number;
2291
- allocationSource: string;
2292
- sourceDetails: {};
2293
- periodStart: null;
2294
- periodEnd: null;
2295
- planTermEndTimestamp: null;
2296
- ownerType: string;
2297
- createdAt: string;
2298
- lastUpdatedAt: string;
2299
- } | {
2300
- totalCreditsAvailable: number;
2301
- allocationSource: string;
2302
- createdAt: string;
2303
- creditsAllocatedThisPeriod: number;
2304
- effectivePlanId: string;
2305
- email: string;
2306
- isUnlimited: boolean;
2307
- lastUpdatedAt: string;
2308
- ownerType: string;
2309
- periodStart: string;
2310
- periodEnd: string;
2311
- planTermEndTimestamp: string | null;
2312
- sourceDetails: Record<string, unknown>;
2313
- creditsAvailable?: number;
2314
- topOffCreditsAvailable?: number;
2315
- id: string;
2316
- userId?: undefined;
2317
- status?: undefined;
2318
- topOffCreditsTotal?: undefined;
2319
- }>;
2320
- } | {
2321
- data: undefined;
2322
- error: Error;
2323
- isError: true;
2324
- isPending: false;
2325
- isLoading: false;
2326
- isLoadingError: true;
2327
- isRefetchError: false;
2328
- isSuccess: false;
2329
- isPlaceholderData: false;
2330
- status: "error";
2331
- dataUpdatedAt: number;
2332
- errorUpdatedAt: number;
2333
- failureCount: number;
2334
- failureReason: Error | null;
2335
- errorUpdateCount: number;
2336
- isFetched: boolean;
2337
- isFetchedAfterMount: boolean;
2338
- isFetching: boolean;
2339
- isInitialLoading: boolean;
2340
- isPaused: boolean;
2341
- isRefetching: boolean;
2342
- isStale: boolean;
2343
- isEnabled: boolean;
2344
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
2345
- id: string;
2346
- userId: string;
2347
- email: string;
2348
- effectivePlanId: string;
2349
- status: string;
2350
- isUnlimited: boolean;
2351
- creditsAvailable: number;
2352
- creditsAllocatedThisPeriod: number;
2353
- topOffCreditsAvailable: number;
2354
- topOffCreditsTotal: number;
2355
- allocationSource: string;
2356
- sourceDetails: {};
2357
- periodStart: null;
2358
- periodEnd: null;
2359
- planTermEndTimestamp: null;
2360
- ownerType: string;
2361
- createdAt: string;
2362
- lastUpdatedAt: string;
2363
- } | {
2364
- totalCreditsAvailable: number;
2365
- allocationSource: string;
2366
- createdAt: string;
2367
- creditsAllocatedThisPeriod: number;
2368
- effectivePlanId: string;
2369
- email: string;
2370
- isUnlimited: boolean;
2371
- lastUpdatedAt: string;
2372
- ownerType: string;
2373
- periodStart: string;
2374
- periodEnd: string;
2375
- planTermEndTimestamp: string | null;
2376
- sourceDetails: Record<string, unknown>;
2377
- creditsAvailable?: number;
2378
- topOffCreditsAvailable?: number;
2379
- id: string;
2380
- userId?: undefined;
2381
- status?: undefined;
2382
- topOffCreditsTotal?: undefined;
2383
- }, Error>>;
2384
- fetchStatus: _tanstack_react_query.FetchStatus;
2385
- promise: Promise<{
2386
- id: string;
2387
- userId: string;
2388
- email: string;
2389
- effectivePlanId: string;
2390
- status: string;
2391
- isUnlimited: boolean;
2392
- creditsAvailable: number;
2393
- creditsAllocatedThisPeriod: number;
2394
- topOffCreditsAvailable: number;
2395
- topOffCreditsTotal: number;
2396
- allocationSource: string;
2397
- sourceDetails: {};
2398
- periodStart: null;
2399
- periodEnd: null;
2400
- planTermEndTimestamp: null;
2401
- ownerType: string;
2402
- createdAt: string;
2403
- lastUpdatedAt: string;
2404
- } | {
2405
- totalCreditsAvailable: number;
2406
- allocationSource: string;
2407
- createdAt: string;
2408
- creditsAllocatedThisPeriod: number;
2409
- effectivePlanId: string;
2410
- email: string;
2411
- isUnlimited: boolean;
2412
- lastUpdatedAt: string;
2413
- ownerType: string;
2414
- periodStart: string;
2415
- periodEnd: string;
2416
- planTermEndTimestamp: string | null;
2417
- sourceDetails: Record<string, unknown>;
2418
- creditsAvailable?: number;
2419
- topOffCreditsAvailable?: number;
2420
- id: string;
2421
- userId?: undefined;
2422
- status?: undefined;
2423
- topOffCreditsTotal?: undefined;
2424
- }>;
2425
- } | {
2426
- data: undefined;
2427
- error: null;
2428
- isError: false;
2429
- isPending: true;
2430
- isLoading: true;
2431
- isLoadingError: false;
2432
- isRefetchError: false;
2433
- isSuccess: false;
2434
- isPlaceholderData: false;
2435
- status: "pending";
2436
- dataUpdatedAt: number;
2437
- errorUpdatedAt: number;
2438
- failureCount: number;
2439
- failureReason: Error | null;
2440
- errorUpdateCount: number;
2441
- isFetched: boolean;
2442
- isFetchedAfterMount: boolean;
2443
- isFetching: boolean;
2444
- isInitialLoading: boolean;
2445
- isPaused: boolean;
2446
- isRefetching: boolean;
2447
- isStale: boolean;
2448
- isEnabled: boolean;
2449
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
2450
- id: string;
2451
- userId: string;
2452
- email: string;
2453
- effectivePlanId: string;
2454
- status: string;
2455
- isUnlimited: boolean;
2456
- creditsAvailable: number;
2457
- creditsAllocatedThisPeriod: number;
2458
- topOffCreditsAvailable: number;
2459
- topOffCreditsTotal: number;
2460
- allocationSource: string;
2461
- sourceDetails: {};
2462
- periodStart: null;
2463
- periodEnd: null;
2464
- planTermEndTimestamp: null;
2465
- ownerType: string;
2466
- createdAt: string;
2467
- lastUpdatedAt: string;
2468
- } | {
2469
- totalCreditsAvailable: number;
2470
- allocationSource: string;
2471
- createdAt: string;
2472
- creditsAllocatedThisPeriod: number;
2473
- effectivePlanId: string;
2474
- email: string;
2475
- isUnlimited: boolean;
2476
- lastUpdatedAt: string;
2477
- ownerType: string;
2478
- periodStart: string;
2479
- periodEnd: string;
2480
- planTermEndTimestamp: string | null;
2481
- sourceDetails: Record<string, unknown>;
2482
- creditsAvailable?: number;
2483
- topOffCreditsAvailable?: number;
2484
- id: string;
2485
- userId?: undefined;
2486
- status?: undefined;
2487
- topOffCreditsTotal?: undefined;
2488
- }, Error>>;
2489
- fetchStatus: _tanstack_react_query.FetchStatus;
2490
- promise: Promise<{
2491
- id: string;
2492
- userId: string;
2493
- email: string;
2494
- effectivePlanId: string;
2495
- status: string;
2496
- isUnlimited: boolean;
2497
- creditsAvailable: number;
2498
- creditsAllocatedThisPeriod: number;
2499
- topOffCreditsAvailable: number;
2500
- topOffCreditsTotal: number;
2501
- allocationSource: string;
2502
- sourceDetails: {};
2503
- periodStart: null;
2504
- periodEnd: null;
2505
- planTermEndTimestamp: null;
2506
- ownerType: string;
2507
- createdAt: string;
2508
- lastUpdatedAt: string;
2509
- } | {
2510
- totalCreditsAvailable: number;
2511
- allocationSource: string;
2512
- createdAt: string;
2513
- creditsAllocatedThisPeriod: number;
2514
- effectivePlanId: string;
2515
- email: string;
2516
- isUnlimited: boolean;
2517
- lastUpdatedAt: string;
2518
- ownerType: string;
2519
- periodStart: string;
2520
- periodEnd: string;
2521
- planTermEndTimestamp: string | null;
2522
- sourceDetails: Record<string, unknown>;
2523
- creditsAvailable?: number;
2524
- topOffCreditsAvailable?: number;
2525
- id: string;
2526
- userId?: undefined;
2527
- status?: undefined;
2528
- topOffCreditsTotal?: undefined;
2529
- }>;
2530
- } | {
2531
- data: undefined;
2532
- error: null;
2533
- isError: false;
2534
- isPending: true;
2535
- isLoadingError: false;
2536
- isRefetchError: false;
2537
- isSuccess: false;
2538
- isPlaceholderData: false;
2539
- status: "pending";
2540
- dataUpdatedAt: number;
2541
- errorUpdatedAt: number;
2542
- failureCount: number;
2543
- failureReason: Error | null;
2544
- errorUpdateCount: number;
2545
- isFetched: boolean;
2546
- isFetchedAfterMount: boolean;
2547
- isFetching: boolean;
2548
- isLoading: boolean;
2549
- isInitialLoading: boolean;
2550
- isPaused: boolean;
2551
- isRefetching: boolean;
2552
- isStale: boolean;
2553
- isEnabled: boolean;
2554
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
2555
- id: string;
2556
- userId: string;
2557
- email: string;
2558
- effectivePlanId: string;
2559
- status: string;
2560
- isUnlimited: boolean;
2561
- creditsAvailable: number;
2562
- creditsAllocatedThisPeriod: number;
2563
- topOffCreditsAvailable: number;
2564
- topOffCreditsTotal: number;
2565
- allocationSource: string;
2566
- sourceDetails: {};
2567
- periodStart: null;
2568
- periodEnd: null;
2569
- planTermEndTimestamp: null;
2570
- ownerType: string;
2571
- createdAt: string;
2572
- lastUpdatedAt: string;
2573
- } | {
2574
- totalCreditsAvailable: number;
2575
- allocationSource: string;
2576
- createdAt: string;
2577
- creditsAllocatedThisPeriod: number;
2578
- effectivePlanId: string;
2579
- email: string;
2580
- isUnlimited: boolean;
2581
- lastUpdatedAt: string;
2582
- ownerType: string;
2583
- periodStart: string;
2584
- periodEnd: string;
2585
- planTermEndTimestamp: string | null;
2586
- sourceDetails: Record<string, unknown>;
2587
- creditsAvailable?: number;
2588
- topOffCreditsAvailable?: number;
2589
- id: string;
2590
- userId?: undefined;
2591
- status?: undefined;
2592
- topOffCreditsTotal?: undefined;
2593
- }, Error>>;
2594
- fetchStatus: _tanstack_react_query.FetchStatus;
2595
- promise: Promise<{
2596
- id: string;
2597
- userId: string;
2598
- email: string;
2599
- effectivePlanId: string;
2600
- status: string;
2601
- isUnlimited: boolean;
2602
- creditsAvailable: number;
2603
- creditsAllocatedThisPeriod: number;
2604
- topOffCreditsAvailable: number;
2605
- topOffCreditsTotal: number;
2606
- allocationSource: string;
2607
- sourceDetails: {};
2608
- periodStart: null;
2609
- periodEnd: null;
2610
- planTermEndTimestamp: null;
2611
- ownerType: string;
2612
- createdAt: string;
2613
- lastUpdatedAt: string;
2614
- } | {
2615
- totalCreditsAvailable: number;
2616
- allocationSource: string;
2617
- createdAt: string;
2618
- creditsAllocatedThisPeriod: number;
2619
- effectivePlanId: string;
2620
- email: string;
2621
- isUnlimited: boolean;
2622
- lastUpdatedAt: string;
2623
- ownerType: string;
2624
- periodStart: string;
2625
- periodEnd: string;
2626
- planTermEndTimestamp: string | null;
2627
- sourceDetails: Record<string, unknown>;
2628
- creditsAvailable?: number;
2629
- topOffCreditsAvailable?: number;
2630
- id: string;
2631
- userId?: undefined;
2632
- status?: undefined;
2633
- topOffCreditsTotal?: undefined;
2634
- }>;
2635
- } | {
2636
- data: {
2637
- id: string;
2638
- userId: string;
2639
- email: string;
2640
- effectivePlanId: string;
2641
- status: string;
2642
- isUnlimited: boolean;
2643
- creditsAvailable: number;
2644
- creditsAllocatedThisPeriod: number;
2645
- topOffCreditsAvailable: number;
2646
- topOffCreditsTotal: number;
2647
- allocationSource: string;
2648
- sourceDetails: {};
2649
- periodStart: null;
2650
- periodEnd: null;
2651
- planTermEndTimestamp: null;
2652
- ownerType: string;
2653
- createdAt: string;
2654
- lastUpdatedAt: string;
2655
- } | {
2656
- totalCreditsAvailable: number;
2657
- allocationSource: string;
2658
- createdAt: string;
2659
- creditsAllocatedThisPeriod: number;
2660
- effectivePlanId: string;
2661
- email: string;
2662
- isUnlimited: boolean;
2663
- lastUpdatedAt: string;
2664
- ownerType: string;
2665
- periodStart: string;
2666
- periodEnd: string;
2667
- planTermEndTimestamp: string | null;
2668
- sourceDetails: Record<string, unknown>;
2669
- creditsAvailable?: number;
2670
- topOffCreditsAvailable?: number;
2671
- id: string;
2672
- userId?: undefined;
2673
- status?: undefined;
2674
- topOffCreditsTotal?: undefined;
2675
- };
2676
- isError: false;
2677
- error: null;
2678
- isPending: false;
2679
- isLoading: false;
2680
- isLoadingError: false;
2681
- isRefetchError: false;
2682
- isSuccess: true;
2683
- isPlaceholderData: true;
2684
- status: "success";
2685
- dataUpdatedAt: number;
2686
- errorUpdatedAt: number;
2687
- failureCount: number;
2688
- failureReason: Error | null;
2689
- errorUpdateCount: number;
2690
- isFetched: boolean;
2691
- isFetchedAfterMount: boolean;
2692
- isFetching: boolean;
2693
- isInitialLoading: boolean;
2694
- isPaused: boolean;
2695
- isRefetching: boolean;
2696
- isStale: boolean;
2697
- isEnabled: boolean;
2698
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
2699
- id: string;
2700
- userId: string;
2701
- email: string;
2702
- effectivePlanId: string;
2703
- status: string;
2704
- isUnlimited: boolean;
2705
- creditsAvailable: number;
2706
- creditsAllocatedThisPeriod: number;
2707
- topOffCreditsAvailable: number;
2708
- topOffCreditsTotal: number;
2709
- allocationSource: string;
2710
- sourceDetails: {};
2711
- periodStart: null;
2712
- periodEnd: null;
2713
- planTermEndTimestamp: null;
2714
- ownerType: string;
2715
- createdAt: string;
2716
- lastUpdatedAt: string;
2717
- } | {
2718
- totalCreditsAvailable: number;
2719
- allocationSource: string;
2720
- createdAt: string;
2721
- creditsAllocatedThisPeriod: number;
2722
- effectivePlanId: string;
2723
- email: string;
2724
- isUnlimited: boolean;
2725
- lastUpdatedAt: string;
2726
- ownerType: string;
2727
- periodStart: string;
2728
- periodEnd: string;
2729
- planTermEndTimestamp: string | null;
2730
- sourceDetails: Record<string, unknown>;
2731
- creditsAvailable?: number;
2732
- topOffCreditsAvailable?: number;
2733
- id: string;
2734
- userId?: undefined;
2735
- status?: undefined;
2736
- topOffCreditsTotal?: undefined;
2737
- }, Error>>;
2738
- fetchStatus: _tanstack_react_query.FetchStatus;
2739
- promise: Promise<{
2740
- id: string;
2741
- userId: string;
2742
- email: string;
2743
- effectivePlanId: string;
2744
- status: string;
2745
- isUnlimited: boolean;
2746
- creditsAvailable: number;
2747
- creditsAllocatedThisPeriod: number;
2748
- topOffCreditsAvailable: number;
2749
- topOffCreditsTotal: number;
2750
- allocationSource: string;
2751
- sourceDetails: {};
2752
- periodStart: null;
2753
- periodEnd: null;
2754
- planTermEndTimestamp: null;
2755
- ownerType: string;
2756
- createdAt: string;
2757
- lastUpdatedAt: string;
2758
- } | {
2759
- totalCreditsAvailable: number;
2760
- allocationSource: string;
2761
- createdAt: string;
2762
- creditsAllocatedThisPeriod: number;
2763
- effectivePlanId: string;
2764
- email: string;
2765
- isUnlimited: boolean;
2766
- lastUpdatedAt: string;
2767
- ownerType: string;
2768
- periodStart: string;
2769
- periodEnd: string;
2770
- planTermEndTimestamp: string | null;
2771
- sourceDetails: Record<string, unknown>;
2772
- creditsAvailable?: number;
2773
- topOffCreditsAvailable?: number;
2774
- id: string;
2775
- userId?: undefined;
2776
- status?: undefined;
2777
- topOffCreditsTotal?: undefined;
2778
- }>;
2779
- };
2780
-
2781
- interface OrganizationAccess {
2782
- hasUnlimitedAccess: boolean;
2783
- subscriptionId: string | null;
2784
- organizationId: string | null;
2785
- organizationName: string | null;
2786
- subscriptionEndDate: Date | null;
2787
- accessType: 'organization' | 'individual' | 'institution_subscriptions';
2788
- }
2789
- interface InstitutionSubscription {
2790
- id: string;
2791
- institutionId: string;
2792
- name: string;
2793
- plan: string;
2794
- endDate: Date;
2795
- }
2796
- interface Organization {
2797
- id: string;
2798
- name: string;
2799
- members: string[];
2800
- masterSubscriptionStatus: string;
2801
- masterSubscriptionId: string;
2802
- masterSubscriptionEndDate: Date;
2803
- }
2804
- declare const useOrganizationAccess: () => {
2805
- data: OrganizationAccess;
2806
- error: Error;
2807
- isError: true;
2808
- isPending: false;
2809
- isLoading: false;
2810
- isLoadingError: false;
2811
- isRefetchError: true;
2812
- isSuccess: false;
2813
- isPlaceholderData: false;
2814
- status: "error";
2815
- dataUpdatedAt: number;
2816
- errorUpdatedAt: number;
2817
- failureCount: number;
2818
- failureReason: Error | null;
2819
- errorUpdateCount: number;
2820
- isFetched: boolean;
2821
- isFetchedAfterMount: boolean;
2822
- isFetching: boolean;
2823
- isInitialLoading: boolean;
2824
- isPaused: boolean;
2825
- isRefetching: boolean;
2826
- isStale: boolean;
2827
- isEnabled: boolean;
2828
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2829
- fetchStatus: _tanstack_react_query.FetchStatus;
2830
- promise: Promise<OrganizationAccess>;
2831
- } | {
2832
- data: OrganizationAccess;
2833
- error: null;
2834
- isError: false;
2835
- isPending: false;
2836
- isLoading: false;
2837
- isLoadingError: false;
2838
- isRefetchError: false;
2839
- isSuccess: true;
2840
- isPlaceholderData: false;
2841
- status: "success";
2842
- dataUpdatedAt: number;
2843
- errorUpdatedAt: number;
2844
- failureCount: number;
2845
- failureReason: Error | null;
2846
- errorUpdateCount: number;
2847
- isFetched: boolean;
2848
- isFetchedAfterMount: boolean;
2849
- isFetching: boolean;
2850
- isInitialLoading: boolean;
2851
- isPaused: boolean;
2852
- isRefetching: boolean;
2853
- isStale: boolean;
2854
- isEnabled: boolean;
2855
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2856
- fetchStatus: _tanstack_react_query.FetchStatus;
2857
- promise: Promise<OrganizationAccess>;
2858
- } | {
2859
- data: undefined;
2860
- error: Error;
2861
- isError: true;
2862
- isPending: false;
2863
- isLoading: false;
2864
- isLoadingError: true;
2865
- isRefetchError: false;
2866
- isSuccess: false;
2867
- isPlaceholderData: false;
2868
- status: "error";
2869
- dataUpdatedAt: number;
2870
- errorUpdatedAt: number;
2871
- failureCount: number;
2872
- failureReason: Error | null;
2873
- errorUpdateCount: number;
2874
- isFetched: boolean;
2875
- isFetchedAfterMount: boolean;
2876
- isFetching: boolean;
2877
- isInitialLoading: boolean;
2878
- isPaused: boolean;
2879
- isRefetching: boolean;
2880
- isStale: boolean;
2881
- isEnabled: boolean;
2882
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2883
- fetchStatus: _tanstack_react_query.FetchStatus;
2884
- promise: Promise<OrganizationAccess>;
2885
- } | {
2886
- data: undefined;
2887
- error: null;
2888
- isError: false;
2889
- isPending: true;
2890
- isLoading: true;
2891
- isLoadingError: false;
2892
- isRefetchError: false;
2893
- isSuccess: false;
2894
- isPlaceholderData: false;
2895
- status: "pending";
2896
- dataUpdatedAt: number;
2897
- errorUpdatedAt: number;
2898
- failureCount: number;
2899
- failureReason: Error | null;
2900
- errorUpdateCount: number;
2901
- isFetched: boolean;
2902
- isFetchedAfterMount: boolean;
2903
- isFetching: boolean;
2904
- isInitialLoading: boolean;
2905
- isPaused: boolean;
2906
- isRefetching: boolean;
2907
- isStale: boolean;
2908
- isEnabled: boolean;
2909
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2910
- fetchStatus: _tanstack_react_query.FetchStatus;
2911
- promise: Promise<OrganizationAccess>;
2912
- } | {
2913
- data: undefined;
2914
- error: null;
2915
- isError: false;
2916
- isPending: true;
2917
- isLoadingError: false;
2918
- isRefetchError: false;
2919
- isSuccess: false;
2920
- isPlaceholderData: false;
2921
- status: "pending";
2922
- dataUpdatedAt: number;
2923
- errorUpdatedAt: number;
2924
- failureCount: number;
2925
- failureReason: Error | null;
2926
- errorUpdateCount: number;
2927
- isFetched: boolean;
2928
- isFetchedAfterMount: boolean;
2929
- isFetching: boolean;
2930
- isLoading: boolean;
2931
- isInitialLoading: boolean;
2932
- isPaused: boolean;
2933
- isRefetching: boolean;
2934
- isStale: boolean;
2935
- isEnabled: boolean;
2936
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2937
- fetchStatus: _tanstack_react_query.FetchStatus;
2938
- promise: Promise<OrganizationAccess>;
2939
- } | {
2940
- data: OrganizationAccess;
2941
- isError: false;
2942
- error: null;
2943
- isPending: false;
2944
- isLoading: false;
2945
- isLoadingError: false;
2946
- isRefetchError: false;
2947
- isSuccess: true;
2948
- isPlaceholderData: true;
2949
- status: "success";
2950
- dataUpdatedAt: number;
2951
- errorUpdatedAt: number;
2952
- failureCount: number;
2953
- failureReason: Error | null;
2954
- errorUpdateCount: number;
2955
- isFetched: boolean;
2956
- isFetchedAfterMount: boolean;
2957
- isFetching: boolean;
2958
- isInitialLoading: boolean;
2959
- isPaused: boolean;
2960
- isRefetching: boolean;
2961
- isStale: boolean;
2962
- isEnabled: boolean;
2963
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2964
- fetchStatus: _tanstack_react_query.FetchStatus;
2965
- promise: Promise<OrganizationAccess>;
2966
- };
2967
-
2968
- declare function useSpeakableTranscript(): {
2969
- mutation: _tanstack_react_query.UseMutationResult<string | null, Error, {
2970
- model: "gemini" | "assemblyai" | "whisper";
2971
- audioUrl: string;
2972
- language: string;
2973
- prompt?: string;
2974
- }, unknown>;
2975
- };
2976
- declare function useSpeakableTranscriptCycle(): {
2977
- mutationTranscriptCycle: _tanstack_react_query.UseMutationResult<{
2978
- transcript: string;
2979
- success: boolean;
2980
- }, Error, {
2981
- audioUrl: string;
2982
- language: string;
2983
- prompt: string;
2984
- }, unknown>;
2985
- };
2986
-
2987
- declare const useUpdateStudentVocab: (page: PageActivityWithId | null) => {
2988
- studentVocabMarkVoiceSuccess: undefined;
2989
- studentVocabMarkVoiceFail: undefined;
2990
- } | {
2991
- studentVocabMarkVoiceSuccess: () => Promise<void>;
2992
- studentVocabMarkVoiceFail: () => Promise<void>;
2993
- };
2994
-
2995
- declare const SPEAKABLE_ANALYTICS: {
2996
- readonly VOICE_SUCCESS: "voice_success";
2997
- readonly VOICE_FALLBACK_SUCCESS: "voice_fallback_success";
2998
- readonly VOICE_FALLBACK_FAIL: "voice_fallback_fail";
2999
- readonly VOICE_FAIL: "voice_fail";
3000
- readonly RESPOND_CARD_SUCCESS: "respond_card_success";
3001
- readonly RESPOND_CARD_FAIL: "respond_card_fail";
3002
- readonly RESPOND_WRITE_CARD_SUCCESS: "respond_write_card_success";
3003
- readonly RESPOND_WRITE_CARD_FAIL: "respond_write_card_fail";
3004
- readonly RESPOND_WRITE_CARD_SUBMITTED: "respond_write_card_submitted";
3005
- readonly RESPOND_WRITE_CARD_ERROR: "respond_write_card_error";
3006
- readonly RESPOND_CARD_ERROR: "respond_card_error";
3007
- readonly RESPOND_CARD_SUBMITTED: "respond_card_submitted";
3008
- readonly RESPOND_FREE_PLAN: "respond_free_plan";
3009
- readonly RESPOND_WRITE_FREE_PLAN: "respond_write_free_plan";
3010
- readonly SUBMISSION: "assignment_submitted";
3011
- readonly ASSIGNMENT_STARTED: "assignment_started";
3012
- readonly CREATE_ASSIGNMENT: "create_assignment";
3013
- readonly MC_SUCCESS: "multiple_choice_success";
3014
- readonly MC_FAIL: "multiple_choice_fail";
3015
- readonly MC_ERROR: "multiple_choice_error";
3016
- readonly ACTFL_LEVEL: "actfl_level";
3017
- readonly WIDA_LEVEL: "wida_level";
3018
- readonly VIEW_SCORES_MODAL: "view_scores_modal";
3019
- readonly SHORT_ANSWER_SUCCESS: "short_answer_success";
3020
- readonly SHORT_ANSWER_FAIL: "short_answer_fail";
3021
- readonly SHORT_ANSWER_ERROR: "short_answer_error";
3022
- readonly RETRY: "retry";
3023
- readonly MESSAGE_SENT: "message_sent";
3024
- readonly MESSAGE_ERROR: "message_error";
3025
- readonly VIEW_DETAILS_CLICK: "view_details_click";
3026
- readonly TABS_CLICK: "tabs_click";
3027
- readonly VIEW_MEDIA: "view_media";
3028
- readonly VIEW_SCORES: "view_scores";
3029
- readonly VIEW_GRADING_METHOD: "view_grading_method";
3030
- readonly VIEW_FEEDBACK: "view_feedback";
3031
- };
3032
-
3033
- declare const useBaseOpenAI: ({ onTranscriptSuccess, onTranscriptError, onCompletionSuccess, onCompletionError, aiEnabled, submitAudioResponse, uploadAudioAndGetTranscript, onGetAudioUrlAndTranscript, }: {
3034
- onTranscriptSuccess: (transcript: string) => void;
3035
- onTranscriptError: ({ type, message }: {
3036
- type: string;
3037
- message: string;
3038
- }) => void;
3039
- onCompletionSuccess: (completion: any) => void;
3040
- onCompletionError: ({ type, message }: {
3041
- type: string;
3042
- message: string;
3043
- }) => void;
3044
- aiEnabled: boolean;
3045
- submitAudioResponse: (audio: string) => Promise<{
3046
- url: string;
3047
- fileName: string;
3048
- }>;
3049
- uploadAudioAndGetTranscript: (audio: string, language: string, pagePrompt: string | null) => Promise<{
3050
- transcript: string;
3051
- audioUrl: string;
3052
- }>;
3053
- onGetAudioUrlAndTranscript?: (args: {
3054
- transcript?: string;
3055
- audioUrl?: string;
3056
- }) => void;
3057
- }) => {
3058
- submitAudioResponse: (audio: string) => Promise<{
3059
- url: string;
3060
- fileName: string;
3061
- }>;
3062
- uploadAudioAndGetTranscript: (audio: string, language: string, pagePrompt: string | null) => Promise<{
3063
- transcript: string;
3064
- audioUrl: string;
3065
- }>;
3066
- getTranscript: (audioUrl: string, language: string, prompt?: string) => Promise<any>;
3067
- getFreeResponseCompletion: (messages: string[], isFreeResponse: boolean, feedbackLanguage: string, gradingStandard?: string) => Promise<any>;
3068
- getFeedback: ({ cardId, language, writtenResponse, audio, autoGrade, file, pagePrompt, }: {
3069
- cardId: string;
3070
- language: string;
3071
- writtenResponse: string | null;
3072
- audio: string | null;
3073
- autoGrade: boolean;
3074
- file: string | null;
3075
- pagePrompt: string | null;
3076
- }) => Promise<{
3077
- noFeedbackAvailable: boolean;
3078
- success: boolean;
3079
- reason: string;
3080
- accessType: "ai_enabled" | "teacher_preview" | "student_with_teacher_plan" | "none";
3081
- } | {
3082
- noFeedbackAvailable: boolean;
3083
- success: boolean;
3084
- reason: string;
3085
- accessType: string;
3086
- aiSuccess: boolean;
3087
- }>;
3088
- };
3089
-
3090
- interface ActivityFeedbackAccess {
3091
- canAccessFeedback: boolean;
3092
- reason?: string;
3093
- isUnlimited: boolean;
3094
- accessType: 'ai_enabled' | 'teacher_preview' | 'student_with_teacher_plan' | 'none';
3095
- }
3096
- /**
3097
- * Hook to check feedback permissions for both students and teachers
3098
- *
3099
- * Permission Logic:
3100
- * 1. aiEnabled: true → Allow feedback access always (highest priority)
3101
- * 2. Teachers on /activity route → Always allowed (ADMIN role)
3102
- * 3. Students on /activity route → Need teacher with active plan (team/org)
3103
- *
3104
- * @param params - Parameters for permission checking
3105
- * @returns Feedback permissions information
3106
- */
3107
- declare const useActivityFeedbackAccess: ({ aiEnabled, isActivityRoute, }: {
3108
- aiEnabled?: boolean;
3109
- isActivityRoute?: boolean;
3110
- }) => {
3111
- data: ActivityFeedbackAccess;
3112
- error: Error;
3113
- isError: true;
3114
- isPending: false;
3115
- isLoading: false;
3116
- isLoadingError: false;
3117
- isRefetchError: true;
3118
- isSuccess: false;
3119
- isPlaceholderData: false;
3120
- status: "error";
3121
- dataUpdatedAt: number;
3122
- errorUpdatedAt: number;
3123
- failureCount: number;
3124
- failureReason: Error | null;
3125
- errorUpdateCount: number;
3126
- isFetched: boolean;
3127
- isFetchedAfterMount: boolean;
3128
- isFetching: boolean;
3129
- isInitialLoading: boolean;
3130
- isPaused: boolean;
3131
- isRefetching: boolean;
3132
- isStale: boolean;
3133
- isEnabled: boolean;
3134
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
3135
- fetchStatus: _tanstack_react_query.FetchStatus;
3136
- promise: Promise<ActivityFeedbackAccess>;
3137
- } | {
3138
- data: ActivityFeedbackAccess;
3139
- error: null;
3140
- isError: false;
3141
- isPending: false;
3142
- isLoading: false;
3143
- isLoadingError: false;
3144
- isRefetchError: false;
3145
- isSuccess: true;
3146
- isPlaceholderData: false;
3147
- status: "success";
3148
- dataUpdatedAt: number;
3149
- errorUpdatedAt: number;
3150
- failureCount: number;
3151
- failureReason: Error | null;
3152
- errorUpdateCount: number;
3153
- isFetched: boolean;
3154
- isFetchedAfterMount: boolean;
3155
- isFetching: boolean;
3156
- isInitialLoading: boolean;
3157
- isPaused: boolean;
3158
- isRefetching: boolean;
3159
- isStale: boolean;
3160
- isEnabled: boolean;
3161
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
3162
- fetchStatus: _tanstack_react_query.FetchStatus;
3163
- promise: Promise<ActivityFeedbackAccess>;
3164
- } | {
3165
- data: undefined;
3166
- error: Error;
3167
- isError: true;
3168
- isPending: false;
3169
- isLoading: false;
3170
- isLoadingError: true;
3171
- isRefetchError: false;
3172
- isSuccess: false;
3173
- isPlaceholderData: false;
3174
- status: "error";
3175
- dataUpdatedAt: number;
3176
- errorUpdatedAt: number;
3177
- failureCount: number;
3178
- failureReason: Error | null;
3179
- errorUpdateCount: number;
3180
- isFetched: boolean;
3181
- isFetchedAfterMount: boolean;
3182
- isFetching: boolean;
3183
- isInitialLoading: boolean;
3184
- isPaused: boolean;
3185
- isRefetching: boolean;
3186
- isStale: boolean;
3187
- isEnabled: boolean;
3188
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
3189
- fetchStatus: _tanstack_react_query.FetchStatus;
3190
- promise: Promise<ActivityFeedbackAccess>;
3191
- } | {
3192
- data: undefined;
3193
- error: null;
3194
- isError: false;
3195
- isPending: true;
3196
- isLoading: true;
3197
- isLoadingError: false;
3198
- isRefetchError: false;
3199
- isSuccess: false;
3200
- isPlaceholderData: false;
3201
- status: "pending";
3202
- dataUpdatedAt: number;
3203
- errorUpdatedAt: number;
3204
- failureCount: number;
3205
- failureReason: Error | null;
3206
- errorUpdateCount: number;
3207
- isFetched: boolean;
3208
- isFetchedAfterMount: boolean;
3209
- isFetching: boolean;
3210
- isInitialLoading: boolean;
3211
- isPaused: boolean;
3212
- isRefetching: boolean;
3213
- isStale: boolean;
3214
- isEnabled: boolean;
3215
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
3216
- fetchStatus: _tanstack_react_query.FetchStatus;
3217
- promise: Promise<ActivityFeedbackAccess>;
3218
- } | {
3219
- data: undefined;
3220
- error: null;
3221
- isError: false;
3222
- isPending: true;
3223
- isLoadingError: false;
3224
- isRefetchError: false;
3225
- isSuccess: false;
3226
- isPlaceholderData: false;
3227
- status: "pending";
3228
- dataUpdatedAt: number;
3229
- errorUpdatedAt: number;
3230
- failureCount: number;
3231
- failureReason: Error | null;
3232
- errorUpdateCount: number;
3233
- isFetched: boolean;
3234
- isFetchedAfterMount: boolean;
3235
- isFetching: boolean;
3236
- isLoading: boolean;
3237
- isInitialLoading: boolean;
3238
- isPaused: boolean;
3239
- isRefetching: boolean;
3240
- isStale: boolean;
3241
- isEnabled: boolean;
3242
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
3243
- fetchStatus: _tanstack_react_query.FetchStatus;
3244
- promise: Promise<ActivityFeedbackAccess>;
3245
- } | {
3246
- data: ActivityFeedbackAccess;
3247
- isError: false;
3248
- error: null;
3249
- isPending: false;
3250
- isLoading: false;
3251
- isLoadingError: false;
3252
- isRefetchError: false;
3253
- isSuccess: true;
3254
- isPlaceholderData: true;
3255
- status: "success";
3256
- dataUpdatedAt: number;
3257
- errorUpdatedAt: number;
3258
- failureCount: number;
3259
- failureReason: Error | null;
3260
- errorUpdateCount: number;
3261
- isFetched: boolean;
3262
- isFetchedAfterMount: boolean;
3263
- isFetching: boolean;
3264
- isInitialLoading: boolean;
3265
- isPaused: boolean;
3266
- isRefetching: boolean;
3267
- isStale: boolean;
3268
- isEnabled: boolean;
3269
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
3270
- fetchStatus: _tanstack_react_query.FetchStatus;
3271
- promise: Promise<ActivityFeedbackAccess>;
3272
- };
3273
-
3274
- declare const createFsClientNative: ({ db, httpsCallable, logEvent }: FsClientParams) => {
3275
- assignmentRepo: {
3276
- getAssignment: (params: {
3277
- assignmentId: string;
3278
- currentUserId: string;
3279
- analyticType?: AssignmentAnalyticsType;
3280
- studentId?: string;
3281
- }) => Promise<AssignmentWithId | {
3282
- scores: any;
3283
- id: string;
3284
- isAvailable: boolean;
3285
- name: string;
3286
- description: string;
3287
- scheduledTime?: string | null;
3288
- dueTime?: {
3289
- hours: number;
3290
- minutes: number;
3291
- nanos: number;
3292
- };
3293
- speakableio: boolean;
3294
- owners: string[];
3295
- image: {
3296
- path: string | null;
3297
- url: string;
3298
- };
3299
- dueDate: {
3300
- day: number;
3301
- month: number;
3302
- year: number;
3303
- };
3304
- teacherName: string;
3305
- courseWorkId: string | null;
3306
- dueDateTimestamp: CustomTimestamp;
3307
- scheduledTimeTimestamp: number;
3308
- active: boolean;
3309
- voice: string | null;
3310
- setId: string;
3311
- dateMade: {
3312
- seconds: number;
3313
- nanoseconds: number;
3314
- };
3315
- maxPoints: number;
3316
- courseId: string;
3317
- isAssessment: boolean;
3318
- ltiDeeplink?: string;
3319
- content?: string[];
3320
- weights?: Record<string, number>;
3321
- language?: string;
3322
- types?: { [key in ActivityPageType]?: number; };
3323
- aiEnabled?: boolean;
3324
- chat_experience?: boolean;
3325
- showScores?: boolean;
3326
- } | null>;
3327
- attachScoresAssignment: (args_0: {
3328
- assignments: AssignmentWithId[];
3329
- analyticType: AssignmentAnalyticsType;
3330
- studentId?: string;
3331
- currentUserId: string;
3332
- }) => Promise<{
3333
- scores: any;
3334
- id: string;
3335
- isAvailable: boolean;
3336
- name: string;
3337
- description: string;
3338
- scheduledTime?: string | null;
3339
- dueTime?: {
3340
- hours: number;
3341
- minutes: number;
3342
- nanos: number;
3343
- };
3344
- speakableio: boolean;
3345
- owners: string[];
3346
- image: {
3347
- path: string | null;
3348
- url: string;
3349
- };
3350
- dueDate: {
3351
- day: number;
3352
- month: number;
3353
- year: number;
3354
- };
3355
- teacherName: string;
3356
- courseWorkId: string | null;
3357
- dueDateTimestamp: CustomTimestamp;
3358
- scheduledTimeTimestamp: number;
3359
- active: boolean;
3360
- voice: string | null;
3361
- setId: string;
3362
- dateMade: {
3363
- seconds: number;
3364
- nanoseconds: number;
3365
- };
3366
- maxPoints: number;
3367
- courseId: string;
3368
- isAssessment: boolean;
3369
- ltiDeeplink?: string;
3370
- content?: string[];
3371
- weights?: Record<string, number>;
3372
- language?: string;
3373
- types?: { [key in ActivityPageType]?: number; };
3374
- aiEnabled?: boolean;
3375
- chat_experience?: boolean;
3376
- showScores?: boolean;
3377
- }[]>;
3378
- getAssignmentScores: (args_0: {
3379
- assignmentId: string;
3380
- currentUserId: string;
3381
- analyticType?: AssignmentAnalyticsType;
3382
- studentId?: string;
3383
- }) => Promise<{
3384
- scores: unknown;
3385
- id: string;
3386
- } | undefined>;
3387
- getAllAssignments: () => Promise<(AssignmentWithId & {
3388
- id: string;
3389
- })[]>;
3390
- };
3391
- cardRepo: {
3392
- createCard: (args_0: {
3393
- data: Partial<PageActivity>;
3394
- }) => Promise<{
3395
- id: string;
3396
- } & Partial<PageActivity>>;
3397
- createCards: (args_0: {
3398
- cards: PageActivity[];
3399
- }) => Promise<{
3400
- id: string;
3401
- owners: string[];
3402
- checked?: boolean;
3403
- completed?: boolean;
3404
- media_area_id?: string | null;
3405
- media_area_layout?: "left" | "right" | null;
3406
- media?: MediaPageActivity | null;
3407
- score?: number;
3408
- verificationStatus?: VerificationCardStatus;
3409
- native_text?: string;
3410
- repeat?: number;
3411
- language?: string | null;
3412
- image?: {
3413
- path?: string | null;
3414
- url?: string;
3415
- };
3416
- audio?: {
3417
- path?: string | null;
3418
- url?: string;
3419
- } | null;
3420
- notes?: string;
3421
- difficulty?: string;
3422
- default_language?: string;
3423
- target_text?: string;
3424
- type: ActivityPageType;
3425
- grading_criteria?: string;
3426
- grading_criteria_title?: string;
3427
- scoring_type?: string;
3428
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
3429
- feedback_types?: FeedbackTypesCard[];
3430
- rubricId?: string;
3431
- prompt?: string;
3432
- title?: string;
3433
- passing_score?: number;
3434
- maxCharacters?: number;
3435
- answer?: string[];
3436
- choices?: {
3437
- value: string;
3438
- option: string;
3439
- }[];
3440
- MCQType?: string;
3441
- multipleAttemptsAllowed?: boolean;
3442
- allowRetries?: boolean;
3443
- question?: string;
3444
- respondTime?: number;
3445
- hidePrompt?: boolean;
3446
- videoUrl?: string;
3447
- link?: string;
3448
- text?: string;
3449
- isListenAloud?: boolean;
3450
- embedCode?: string;
3451
- attempt?: number;
3452
- correct?: number;
3453
- autoGrade?: boolean;
3454
- points?: number;
3455
- shuffle?: boolean;
3456
- translation?: string;
3457
- includeAIContext?: boolean;
3458
- media_area_context_ref?: string | null;
3459
- standardId?: string;
3460
- target_proficiency_level?: string;
3461
- allowTTS?: boolean;
3462
- feedback_language?: string | null;
3463
- correct_answer?: string | null;
3464
- limit_attempts?: boolean;
3465
- max_attempts?: number;
3466
- rich_text?: string;
3467
- feedbackOff?: boolean;
3468
- correct_answer_exact_match?: boolean;
3469
- ai_context_block_ids?: string[];
3470
- resolvedContext?: string;
3471
- goal?: string;
3472
- mode?: ConversationPageMode;
3473
- personality?: string;
3474
- voice?: string;
3475
- topic?: string;
3476
- vocab?: string[];
3477
- questions?: string[];
3478
- showHints?: boolean;
3479
- }[]>;
3480
- getCard: (params: {
3481
- cardId: string;
3482
- }) => Promise<{
3483
- type: ActivityPageType;
3484
- id: string;
3485
- owners: string[];
3486
- checked?: boolean;
3487
- completed?: boolean;
3488
- media_area_id?: string | null;
3489
- media_area_layout?: "left" | "right" | null;
3490
- media?: MediaPageActivity | null;
3491
- score?: number;
3492
- verificationStatus?: VerificationCardStatus;
3493
- native_text?: string;
3494
- repeat?: number;
3495
- language?: string | null;
3496
- image?: {
3497
- path?: string | null;
3498
- url?: string;
3499
- };
3500
- audio?: {
3501
- path?: string | null;
3502
- url?: string;
3503
- } | null;
3504
- notes?: string;
3505
- difficulty?: string;
3506
- default_language?: string;
3507
- target_text?: string;
3508
- grading_criteria?: string;
3509
- grading_criteria_title?: string;
3510
- scoring_type?: string;
3511
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
3512
- feedback_types?: FeedbackTypesCard[];
3513
- rubricId?: string;
3514
- prompt?: string;
3515
- title?: string;
3516
- passing_score?: number;
3517
- maxCharacters?: number;
3518
- answer?: string[];
3519
- choices?: {
3520
- value: string;
3521
- option: string;
3522
- }[];
3523
- MCQType?: string;
3524
- multipleAttemptsAllowed?: boolean;
3525
- allowRetries?: boolean;
3526
- question?: string;
3527
- respondTime?: number;
3528
- hidePrompt?: boolean;
3529
- videoUrl?: string;
3530
- link?: string;
3531
- text?: string;
3532
- isListenAloud?: boolean;
3533
- embedCode?: string;
3534
- attempt?: number;
3535
- correct?: number;
3536
- autoGrade?: boolean;
3537
- points?: number;
3538
- shuffle?: boolean;
3539
- translation?: string;
3540
- includeAIContext?: boolean;
3541
- media_area_context_ref?: string | null;
3542
- standardId?: string;
3543
- target_proficiency_level?: string;
3544
- allowTTS?: boolean;
3545
- feedback_language?: string | null;
3546
- correct_answer?: string | null;
3547
- limit_attempts?: boolean;
3548
- max_attempts?: number;
3549
- rich_text?: string;
3550
- feedbackOff?: boolean;
3551
- correct_answer_exact_match?: boolean;
3552
- ai_context_block_ids?: string[];
3553
- resolvedContext?: string;
3554
- goal?: string;
3555
- mode?: ConversationPageMode;
3556
- personality?: string;
3557
- voice?: string;
3558
- topic?: string;
3559
- vocab?: string[];
3560
- questions?: string[];
3561
- showHints?: boolean;
3562
- } | null>;
3563
- };
3564
- };
3565
-
3566
- export { ActivityPageType, type Assignment, type AssignmentAnalyticsType$1 as AssignmentAnalyticsType, type AssignmentWithId, BASE_MULTIPLE_CHOICE_FIELD_VALUES, BASE_REPEAT_FIELD_VALUES, BASE_RESPOND_FIELD_VALUES, CONVERSATION_PAGE_ACTIVITY_TYPES, ConversationPageMode, type CreditContract, FeedbackTypesCard, FsCtx, type InstitutionSubscription, LENIENCY_OPTIONS, LeniencyCard, MULTIPLE_CHOICE_PAGE_ACTIVITY_TYPES, type MediaPageActivity, type Organization, type OrganizationAccess, type PageActivity, type PageActivityWithId, type PageScore, REPEAT_PAGE_ACTIVITY_TYPES, RESPOND_AUDIO_PAGE_ACTIVITY_TYPES, RESPOND_PAGE_ACTIVITY_TYPES, RESPOND_WRITE_PAGE_ACTIVITY_TYPES, type RefsCardsFiresotre, type RefsSetsFirestore, SPEAKABLE_ANALYTICS, SPEAKABLE_NOTIFICATIONS, STUDENT_LEVELS_OPTIONS, type Score, type ScoreWithId, type Set, type SetWithId, type SpeakableNotificationType, SpeakableNotificationTypes, SpeakableProvider, VerificationCardStatus, assignmentQueryKeys, cardsQueryKeys, checkIsConversationPage, checkIsMCPage, checkIsMediaPage, checkIsRepeatPage, checkIsRespondAudioPage, checkIsRespondPage, checkIsRespondWrittenPage, checkIsShortAnswerPage, checkTypePageActivity, cleanString, createAssignmentRepo, createCardRepo, createFsClientNative as createFsClient, createSetRepo, creditQueryKeys, debounce, getCardFromCache, getLabelPage, getPageMediaData, getPagePrompt, getPhraseLength, getRespondCardTool, getSetFromCache, getSingleMediaPageData, getTotalCompletedCards, getTranscript, getTranscriptCycle, getWordHash, purify, refsCardsFiresotre, refsSetsFirestore, scoreQueryKeys, setsQueryKeys, updateCardInCache, updateSetInCache, useActivity, useActivityFeedbackAccess, useAssignment, useBaseOpenAI, useCards, useClearScore, useClearScoreV2, useCreateCard, useCreateCards, useCreateNotification, useGetCard, useOrganizationAccess, useScore, useSet, useSpeakableApi, useSpeakableTranscript, useSpeakableTranscriptCycle, useSubmitAssignmentScore, useSubmitPracticeScore, useUpdateCardScore, useUpdateScore, useUpdateStudentVocab, useUserCredits };