@khanacademy/perseus-editor 14.4.0 → 14.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,7 +10,6 @@ declare const InteractiveGraph: {
10
10
  problemNum: number | null | undefined;
11
11
  apiOptions: Readonly<Readonly<{
12
12
  isArticle?: boolean | undefined;
13
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
14
13
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
15
14
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
16
15
  showAlignmentOptions?: boolean | undefined;
@@ -58,6 +57,9 @@ declare const InteractiveGraph: {
58
57
  "interactive-graph-locked-features-labels"?: boolean | undefined;
59
58
  "locked-point-labels"?: boolean | undefined;
60
59
  "locked-line-labels"?: boolean | undefined;
60
+ "locked-vector-labels"?: boolean | undefined;
61
+ "locked-ellipse-labels"?: boolean | undefined;
62
+ "locked-function-labels"?: boolean | undefined;
61
63
  }) | undefined;
62
64
  } | undefined;
63
65
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -73,7 +75,6 @@ declare const InteractiveGraph: {
73
75
  isArticle: NonNullable<boolean | undefined>;
74
76
  isMobile: NonNullable<boolean | undefined>;
75
77
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
76
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
77
78
  readOnly: NonNullable<boolean | undefined>;
78
79
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
79
80
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -83,7 +84,7 @@ declare const InteractiveGraph: {
83
84
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
84
85
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
85
86
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
86
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
87
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
87
88
  onChange: import("@khanacademy/perseus").ChangeHandler;
88
89
  trackInteraction: (extraData?: Empty | undefined) => void;
89
90
  isLastUsedWidget: boolean;
@@ -120,7 +121,6 @@ declare const InteractiveGraph: {
120
121
  problemNum: number | null | undefined;
121
122
  apiOptions: Readonly<Readonly<{
122
123
  isArticle?: boolean | undefined;
123
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
124
124
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
125
125
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
126
126
  showAlignmentOptions?: boolean | undefined;
@@ -168,6 +168,9 @@ declare const InteractiveGraph: {
168
168
  "interactive-graph-locked-features-labels"?: boolean | undefined;
169
169
  "locked-point-labels"?: boolean | undefined;
170
170
  "locked-line-labels"?: boolean | undefined;
171
+ "locked-vector-labels"?: boolean | undefined;
172
+ "locked-ellipse-labels"?: boolean | undefined;
173
+ "locked-function-labels"?: boolean | undefined;
171
174
  }) | undefined;
172
175
  } | undefined;
173
176
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -183,7 +186,6 @@ declare const InteractiveGraph: {
183
186
  isArticle: NonNullable<boolean | undefined>;
184
187
  isMobile: NonNullable<boolean | undefined>;
185
188
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
186
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
187
189
  readOnly: NonNullable<boolean | undefined>;
188
190
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
189
191
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -193,7 +195,7 @@ declare const InteractiveGraph: {
193
195
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
194
196
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
195
197
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
196
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
198
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
197
199
  onChange: import("@khanacademy/perseus").ChangeHandler;
198
200
  trackInteraction: (extraData?: Empty | undefined) => void;
199
201
  isLastUsedWidget: boolean;
@@ -207,7 +209,6 @@ declare const InteractiveGraph: {
207
209
  problemNum: number | null | undefined;
208
210
  apiOptions: Readonly<Readonly<{
209
211
  isArticle?: boolean | undefined;
210
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
211
212
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
212
213
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
213
214
  showAlignmentOptions?: boolean | undefined;
@@ -255,6 +256,9 @@ declare const InteractiveGraph: {
255
256
  "interactive-graph-locked-features-labels"?: boolean | undefined;
256
257
  "locked-point-labels"?: boolean | undefined;
257
258
  "locked-line-labels"?: boolean | undefined;
259
+ "locked-vector-labels"?: boolean | undefined;
260
+ "locked-ellipse-labels"?: boolean | undefined;
261
+ "locked-function-labels"?: boolean | undefined;
258
262
  }) | undefined;
259
263
  } | undefined;
260
264
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -270,7 +274,6 @@ declare const InteractiveGraph: {
270
274
  isArticle: NonNullable<boolean | undefined>;
271
275
  isMobile: NonNullable<boolean | undefined>;
272
276
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
273
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
274
277
  readOnly: NonNullable<boolean | undefined>;
275
278
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
276
279
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -280,7 +283,7 @@ declare const InteractiveGraph: {
280
283
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
281
284
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
282
285
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
283
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
286
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
284
287
  onChange: import("@khanacademy/perseus").ChangeHandler;
285
288
  trackInteraction: (extraData?: Empty | undefined) => void;
286
289
  isLastUsedWidget: boolean;
@@ -294,7 +297,6 @@ declare const InteractiveGraph: {
294
297
  problemNum: number | null | undefined;
295
298
  apiOptions: Readonly<Readonly<{
296
299
  isArticle?: boolean | undefined;
297
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
298
300
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
299
301
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
300
302
  showAlignmentOptions?: boolean | undefined;
@@ -342,6 +344,9 @@ declare const InteractiveGraph: {
342
344
  "interactive-graph-locked-features-labels"?: boolean | undefined;
343
345
  "locked-point-labels"?: boolean | undefined;
344
346
  "locked-line-labels"?: boolean | undefined;
347
+ "locked-vector-labels"?: boolean | undefined;
348
+ "locked-ellipse-labels"?: boolean | undefined;
349
+ "locked-function-labels"?: boolean | undefined;
345
350
  }) | undefined;
346
351
  } | undefined;
347
352
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -357,7 +362,6 @@ declare const InteractiveGraph: {
357
362
  isArticle: NonNullable<boolean | undefined>;
358
363
  isMobile: NonNullable<boolean | undefined>;
359
364
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
360
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
361
365
  readOnly: NonNullable<boolean | undefined>;
362
366
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
363
367
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -367,7 +371,7 @@ declare const InteractiveGraph: {
367
371
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
368
372
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
369
373
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
370
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
374
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
371
375
  onChange: import("@khanacademy/perseus").ChangeHandler;
372
376
  trackInteraction: (extraData?: Empty | undefined) => void;
373
377
  isLastUsedWidget: boolean;
@@ -388,7 +392,6 @@ declare const InteractiveGraph: {
388
392
  problemNum: number | null | undefined;
389
393
  apiOptions: Readonly<Readonly<{
390
394
  isArticle?: boolean | undefined;
391
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
392
395
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
393
396
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
394
397
  showAlignmentOptions?: boolean | undefined;
@@ -436,6 +439,9 @@ declare const InteractiveGraph: {
436
439
  "interactive-graph-locked-features-labels"?: boolean | undefined;
437
440
  "locked-point-labels"?: boolean | undefined;
438
441
  "locked-line-labels"?: boolean | undefined;
442
+ "locked-vector-labels"?: boolean | undefined;
443
+ "locked-ellipse-labels"?: boolean | undefined;
444
+ "locked-function-labels"?: boolean | undefined;
439
445
  }) | undefined;
440
446
  } | undefined;
441
447
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -451,7 +457,6 @@ declare const InteractiveGraph: {
451
457
  isArticle: NonNullable<boolean | undefined>;
452
458
  isMobile: NonNullable<boolean | undefined>;
453
459
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
454
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
455
460
  readOnly: NonNullable<boolean | undefined>;
456
461
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
457
462
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -461,26 +466,21 @@ declare const InteractiveGraph: {
461
466
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
462
467
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
463
468
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
464
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
469
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
465
470
  onChange: import("@khanacademy/perseus").ChangeHandler;
466
471
  trackInteraction: (extraData?: Empty | undefined) => void;
467
472
  isLastUsedWidget: boolean;
468
473
  linterContext: import("@khanacademy/perseus-linter").LinterContextProps;
469
474
  containerSizeClass: SizingUtils.SizeClass;
470
- }) | null | undefined) => boolean; /**
471
- * The range of the graph in the x and y directions.
472
- */
475
+ }) | null | undefined) => boolean;
473
476
  areAngleGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeAngle, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeAngle): boolean;
474
- /**
475
- * How far apart the tick marks on the axes are in the x and y
476
- * directions.
477
- */
478
477
  arePointGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePoint, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePoint): boolean;
479
478
  arePolygonGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePolygon, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePolygon): boolean;
480
479
  areSegmentGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeSegment, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeSegment): boolean;
481
480
  _lineStroke: () => {
482
481
  "stroke-width"?: number | undefined; /**
483
- * The size of the graph in pixels.
482
+ * An error message to display in the graph area, or true if the
483
+ * graph is valid.
484
484
  */
485
485
  };
486
486
  addLine: (arg1: string) => void;
@@ -492,16 +492,13 @@ declare const InteractiveGraph: {
492
492
  addQuadraticControls: () => void;
493
493
  updateQuadratic: () => void;
494
494
  removeQuadraticControls: () => void;
495
- addSinusoidControls: () => void; /**
496
- * The type of markings to display on the graph.
497
- * - graph: shows the axes and the grid lines
498
- * - grid: shows only the grid lines
499
- * - none: shows no markings
500
- */
495
+ addSinusoidControls: () => void;
501
496
  updateSinusoid: () => void;
502
497
  removeSinusoidControls: () => void;
503
498
  addCircleControls: () => void;
504
- removeCircleControls: () => void;
499
+ removeCircleControls: () => void; /**
500
+ * Whether to show the protractor on the graph.
501
+ */
505
502
  addLinearSystemControls: () => void;
506
503
  removeLinearSystemControls: () => void;
507
504
  isCoordInTrash: (arg1: import("@khanacademy/perseus").Coord) => boolean;
@@ -524,7 +521,7 @@ declare const InteractiveGraph: {
524
521
  removeAngleControls: () => void;
525
522
  toggleShowSides: () => void;
526
523
  getUserInput(): PerseusGraphType;
527
- simpleValidate(rubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric): import("@khanacademy/perseus").PerseusScore;
524
+ simpleValidate(rubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric): import("@khanacademy/perseus").PerseusScore;
528
525
  focus: () => void;
529
526
  render(): React.ReactNode;
530
527
  setState<K extends string | number | symbol>(state: any, callback?: (() => void) | undefined): void;
@@ -536,7 +533,6 @@ declare const InteractiveGraph: {
536
533
  problemNum: number | null | undefined;
537
534
  apiOptions: Readonly<Readonly<{
538
535
  isArticle?: boolean | undefined;
539
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
540
536
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
541
537
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
542
538
  showAlignmentOptions?: boolean | undefined;
@@ -584,6 +580,9 @@ declare const InteractiveGraph: {
584
580
  "interactive-graph-locked-features-labels"?: boolean | undefined;
585
581
  "locked-point-labels"?: boolean | undefined;
586
582
  "locked-line-labels"?: boolean | undefined;
583
+ "locked-vector-labels"?: boolean | undefined;
584
+ "locked-ellipse-labels"?: boolean | undefined;
585
+ "locked-function-labels"?: boolean | undefined;
587
586
  }) | undefined;
588
587
  } | undefined;
589
588
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -599,7 +598,6 @@ declare const InteractiveGraph: {
599
598
  isArticle: NonNullable<boolean | undefined>;
600
599
  isMobile: NonNullable<boolean | undefined>;
601
600
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
602
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
603
601
  readOnly: NonNullable<boolean | undefined>;
604
602
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
605
603
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -609,7 +607,7 @@ declare const InteractiveGraph: {
609
607
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
610
608
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
611
609
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
612
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
610
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
613
611
  onChange: import("@khanacademy/perseus").ChangeHandler;
614
612
  trackInteraction: (extraData?: Empty | undefined) => void;
615
613
  isLastUsedWidget: boolean;
@@ -626,7 +624,6 @@ declare const InteractiveGraph: {
626
624
  problemNum: number | null | undefined;
627
625
  apiOptions: Readonly<Readonly<{
628
626
  isArticle?: boolean | undefined;
629
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
630
627
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
631
628
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
632
629
  showAlignmentOptions?: boolean | undefined;
@@ -674,6 +671,9 @@ declare const InteractiveGraph: {
674
671
  "interactive-graph-locked-features-labels"?: boolean | undefined;
675
672
  "locked-point-labels"?: boolean | undefined;
676
673
  "locked-line-labels"?: boolean | undefined;
674
+ "locked-vector-labels"?: boolean | undefined;
675
+ "locked-ellipse-labels"?: boolean | undefined;
676
+ "locked-function-labels"?: boolean | undefined;
677
677
  }) | undefined;
678
678
  } | undefined;
679
679
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -689,7 +689,6 @@ declare const InteractiveGraph: {
689
689
  isArticle: NonNullable<boolean | undefined>;
690
690
  isMobile: NonNullable<boolean | undefined>;
691
691
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
692
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
693
692
  readOnly: NonNullable<boolean | undefined>;
694
693
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
695
694
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -699,7 +698,7 @@ declare const InteractiveGraph: {
699
698
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
700
699
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
701
700
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
702
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
701
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
703
702
  onChange: import("@khanacademy/perseus").ChangeHandler;
704
703
  trackInteraction: (extraData?: Empty | undefined) => void;
705
704
  isLastUsedWidget: boolean;
@@ -715,7 +714,6 @@ declare const InteractiveGraph: {
715
714
  problemNum: number | null | undefined;
716
715
  apiOptions: Readonly<Readonly<{
717
716
  isArticle?: boolean | undefined;
718
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
719
717
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
720
718
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
721
719
  showAlignmentOptions?: boolean | undefined;
@@ -763,6 +761,9 @@ declare const InteractiveGraph: {
763
761
  "interactive-graph-locked-features-labels"?: boolean | undefined;
764
762
  "locked-point-labels"?: boolean | undefined;
765
763
  "locked-line-labels"?: boolean | undefined;
764
+ "locked-vector-labels"?: boolean | undefined;
765
+ "locked-ellipse-labels"?: boolean | undefined;
766
+ "locked-function-labels"?: boolean | undefined;
766
767
  }) | undefined;
767
768
  } | undefined;
768
769
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -778,7 +779,6 @@ declare const InteractiveGraph: {
778
779
  isArticle: NonNullable<boolean | undefined>;
779
780
  isMobile: NonNullable<boolean | undefined>;
780
781
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
781
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
782
782
  readOnly: NonNullable<boolean | undefined>;
783
783
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
784
784
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -788,7 +788,7 @@ declare const InteractiveGraph: {
788
788
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
789
789
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
790
790
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
791
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
791
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
792
792
  onChange: import("@khanacademy/perseus").ChangeHandler;
793
793
  trackInteraction: (extraData?: Empty | undefined) => void;
794
794
  isLastUsedWidget: boolean;
@@ -804,7 +804,6 @@ declare const InteractiveGraph: {
804
804
  problemNum: number | null | undefined;
805
805
  apiOptions: Readonly<Readonly<{
806
806
  isArticle?: boolean | undefined;
807
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
808
807
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
809
808
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
810
809
  showAlignmentOptions?: boolean | undefined;
@@ -852,6 +851,9 @@ declare const InteractiveGraph: {
852
851
  "interactive-graph-locked-features-labels"?: boolean | undefined;
853
852
  "locked-point-labels"?: boolean | undefined;
854
853
  "locked-line-labels"?: boolean | undefined;
854
+ "locked-vector-labels"?: boolean | undefined;
855
+ "locked-ellipse-labels"?: boolean | undefined;
856
+ "locked-function-labels"?: boolean | undefined;
855
857
  }) | undefined;
856
858
  } | undefined;
857
859
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -867,7 +869,6 @@ declare const InteractiveGraph: {
867
869
  isArticle: NonNullable<boolean | undefined>;
868
870
  isMobile: NonNullable<boolean | undefined>;
869
871
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
870
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
871
872
  readOnly: NonNullable<boolean | undefined>;
872
873
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
873
874
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -877,7 +878,7 @@ declare const InteractiveGraph: {
877
878
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
878
879
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
879
880
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
880
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
881
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
881
882
  onChange: import("@khanacademy/perseus").ChangeHandler;
882
883
  trackInteraction: (extraData?: Empty | undefined) => void;
883
884
  isLastUsedWidget: boolean;
@@ -891,7 +892,6 @@ declare const InteractiveGraph: {
891
892
  problemNum: number | null | undefined;
892
893
  apiOptions: Readonly<Readonly<{
893
894
  isArticle?: boolean | undefined;
894
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
895
895
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
896
896
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
897
897
  showAlignmentOptions?: boolean | undefined;
@@ -939,6 +939,9 @@ declare const InteractiveGraph: {
939
939
  "interactive-graph-locked-features-labels"?: boolean | undefined;
940
940
  "locked-point-labels"?: boolean | undefined;
941
941
  "locked-line-labels"?: boolean | undefined;
942
+ "locked-vector-labels"?: boolean | undefined;
943
+ "locked-ellipse-labels"?: boolean | undefined;
944
+ "locked-function-labels"?: boolean | undefined;
942
945
  }) | undefined;
943
946
  } | undefined;
944
947
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -954,7 +957,6 @@ declare const InteractiveGraph: {
954
957
  isArticle: NonNullable<boolean | undefined>;
955
958
  isMobile: NonNullable<boolean | undefined>;
956
959
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
957
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
958
960
  readOnly: NonNullable<boolean | undefined>;
959
961
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
960
962
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -964,7 +966,7 @@ declare const InteractiveGraph: {
964
966
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
965
967
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
966
968
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
967
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
969
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
968
970
  onChange: import("@khanacademy/perseus").ChangeHandler;
969
971
  trackInteraction: (extraData?: Empty | undefined) => void;
970
972
  isLastUsedWidget: boolean;
@@ -978,7 +980,6 @@ declare const InteractiveGraph: {
978
980
  problemNum: number | null | undefined;
979
981
  apiOptions: Readonly<Readonly<{
980
982
  isArticle?: boolean | undefined;
981
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
982
983
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
983
984
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
984
985
  showAlignmentOptions?: boolean | undefined;
@@ -1026,6 +1027,9 @@ declare const InteractiveGraph: {
1026
1027
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1027
1028
  "locked-point-labels"?: boolean | undefined;
1028
1029
  "locked-line-labels"?: boolean | undefined;
1030
+ "locked-vector-labels"?: boolean | undefined;
1031
+ "locked-ellipse-labels"?: boolean | undefined;
1032
+ "locked-function-labels"?: boolean | undefined;
1029
1033
  }) | undefined;
1030
1034
  } | undefined;
1031
1035
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1041,7 +1045,6 @@ declare const InteractiveGraph: {
1041
1045
  isArticle: NonNullable<boolean | undefined>;
1042
1046
  isMobile: NonNullable<boolean | undefined>;
1043
1047
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1044
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1045
1048
  readOnly: NonNullable<boolean | undefined>;
1046
1049
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1047
1050
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1051,7 +1054,7 @@ declare const InteractiveGraph: {
1051
1054
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1052
1055
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1053
1056
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1054
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1057
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1055
1058
  onChange: import("@khanacademy/perseus").ChangeHandler;
1056
1059
  trackInteraction: (extraData?: Empty | undefined) => void;
1057
1060
  isLastUsedWidget: boolean;
@@ -1059,9 +1062,9 @@ declare const InteractiveGraph: {
1059
1062
  containerSizeClass: SizingUtils.SizeClass;
1060
1063
  }>, nextState: Readonly<any>, nextContext: any): void;
1061
1064
  }>;
1062
- mafsRef: React.RefObject<import("../../../../perseus/src/renderer").Widget>;
1063
- getUserInput: (() => any) | undefined;
1064
- simpleValidate(rubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric): import("@khanacademy/perseus").PerseusScore;
1065
+ mafsRef: React.RefObject<import("../../../../perseus/src/widgets/interactive-graphs/stateful-mafs-graph").StatefulMafsGraphType>;
1066
+ getUserInput(): PerseusGraphType;
1067
+ simpleValidate(rubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric): import("@khanacademy/perseus").PerseusScore;
1065
1068
  render(): React.JSX.Element;
1066
1069
  context: unknown;
1067
1070
  setState<K_1 extends string | number | symbol>(state: any, callback?: (() => void) | undefined): void;
@@ -1073,7 +1076,6 @@ declare const InteractiveGraph: {
1073
1076
  problemNum: number | null | undefined;
1074
1077
  apiOptions: Readonly<Readonly<{
1075
1078
  isArticle?: boolean | undefined;
1076
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1077
1079
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1078
1080
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1079
1081
  showAlignmentOptions?: boolean | undefined;
@@ -1121,6 +1123,9 @@ declare const InteractiveGraph: {
1121
1123
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1122
1124
  "locked-point-labels"?: boolean | undefined;
1123
1125
  "locked-line-labels"?: boolean | undefined;
1126
+ "locked-vector-labels"?: boolean | undefined;
1127
+ "locked-ellipse-labels"?: boolean | undefined;
1128
+ "locked-function-labels"?: boolean | undefined;
1124
1129
  }) | undefined;
1125
1130
  } | undefined;
1126
1131
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1136,7 +1141,6 @@ declare const InteractiveGraph: {
1136
1141
  isArticle: NonNullable<boolean | undefined>;
1137
1142
  isMobile: NonNullable<boolean | undefined>;
1138
1143
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1139
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1140
1144
  readOnly: NonNullable<boolean | undefined>;
1141
1145
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1142
1146
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1146,7 +1150,7 @@ declare const InteractiveGraph: {
1146
1150
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1147
1151
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1148
1152
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1149
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1153
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1150
1154
  onChange: import("@khanacademy/perseus").ChangeHandler;
1151
1155
  trackInteraction: (extraData?: Empty | undefined) => void;
1152
1156
  isLastUsedWidget: boolean;
@@ -1165,7 +1169,6 @@ declare const InteractiveGraph: {
1165
1169
  problemNum: number | null | undefined;
1166
1170
  apiOptions: Readonly<Readonly<{
1167
1171
  isArticle?: boolean | undefined;
1168
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1169
1172
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1170
1173
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1171
1174
  showAlignmentOptions?: boolean | undefined;
@@ -1213,6 +1216,9 @@ declare const InteractiveGraph: {
1213
1216
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1214
1217
  "locked-point-labels"?: boolean | undefined;
1215
1218
  "locked-line-labels"?: boolean | undefined;
1219
+ "locked-vector-labels"?: boolean | undefined;
1220
+ "locked-ellipse-labels"?: boolean | undefined;
1221
+ "locked-function-labels"?: boolean | undefined;
1216
1222
  }) | undefined;
1217
1223
  } | undefined;
1218
1224
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1228,7 +1234,6 @@ declare const InteractiveGraph: {
1228
1234
  isArticle: NonNullable<boolean | undefined>;
1229
1235
  isMobile: NonNullable<boolean | undefined>;
1230
1236
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1231
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1232
1237
  readOnly: NonNullable<boolean | undefined>;
1233
1238
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1234
1239
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1238,7 +1243,7 @@ declare const InteractiveGraph: {
1238
1243
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1239
1244
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1240
1245
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1241
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1246
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1242
1247
  onChange: import("@khanacademy/perseus").ChangeHandler;
1243
1248
  trackInteraction: (extraData?: Empty | undefined) => void;
1244
1249
  isLastUsedWidget: boolean;
@@ -1254,7 +1259,6 @@ declare const InteractiveGraph: {
1254
1259
  problemNum: number | null | undefined;
1255
1260
  apiOptions: Readonly<Readonly<{
1256
1261
  isArticle?: boolean | undefined;
1257
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1258
1262
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1259
1263
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1260
1264
  showAlignmentOptions?: boolean | undefined;
@@ -1302,6 +1306,9 @@ declare const InteractiveGraph: {
1302
1306
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1303
1307
  "locked-point-labels"?: boolean | undefined;
1304
1308
  "locked-line-labels"?: boolean | undefined;
1309
+ "locked-vector-labels"?: boolean | undefined;
1310
+ "locked-ellipse-labels"?: boolean | undefined;
1311
+ "locked-function-labels"?: boolean | undefined;
1305
1312
  }) | undefined;
1306
1313
  } | undefined;
1307
1314
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1317,7 +1324,6 @@ declare const InteractiveGraph: {
1317
1324
  isArticle: NonNullable<boolean | undefined>;
1318
1325
  isMobile: NonNullable<boolean | undefined>;
1319
1326
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1320
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1321
1327
  readOnly: NonNullable<boolean | undefined>;
1322
1328
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1323
1329
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1327,7 +1333,7 @@ declare const InteractiveGraph: {
1327
1333
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1328
1334
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1329
1335
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1330
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1336
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1331
1337
  onChange: import("@khanacademy/perseus").ChangeHandler;
1332
1338
  trackInteraction: (extraData?: Empty | undefined) => void;
1333
1339
  isLastUsedWidget: boolean;
@@ -1341,7 +1347,6 @@ declare const InteractiveGraph: {
1341
1347
  problemNum: number | null | undefined;
1342
1348
  apiOptions: Readonly<Readonly<{
1343
1349
  isArticle?: boolean | undefined;
1344
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1345
1350
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1346
1351
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1347
1352
  showAlignmentOptions?: boolean | undefined;
@@ -1389,6 +1394,9 @@ declare const InteractiveGraph: {
1389
1394
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1390
1395
  "locked-point-labels"?: boolean | undefined;
1391
1396
  "locked-line-labels"?: boolean | undefined;
1397
+ "locked-vector-labels"?: boolean | undefined;
1398
+ "locked-ellipse-labels"?: boolean | undefined;
1399
+ "locked-function-labels"?: boolean | undefined;
1392
1400
  }) | undefined;
1393
1401
  } | undefined;
1394
1402
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1404,7 +1412,6 @@ declare const InteractiveGraph: {
1404
1412
  isArticle: NonNullable<boolean | undefined>;
1405
1413
  isMobile: NonNullable<boolean | undefined>;
1406
1414
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1407
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1408
1415
  readOnly: NonNullable<boolean | undefined>;
1409
1416
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1410
1417
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1414,7 +1421,7 @@ declare const InteractiveGraph: {
1414
1421
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1415
1422
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1416
1423
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1417
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1424
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1418
1425
  onChange: import("@khanacademy/perseus").ChangeHandler;
1419
1426
  trackInteraction: (extraData?: Empty | undefined) => void;
1420
1427
  isLastUsedWidget: boolean;
@@ -1430,7 +1437,6 @@ declare const InteractiveGraph: {
1430
1437
  problemNum: number | null | undefined;
1431
1438
  apiOptions: Readonly<Readonly<{
1432
1439
  isArticle?: boolean | undefined;
1433
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1434
1440
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1435
1441
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1436
1442
  showAlignmentOptions?: boolean | undefined;
@@ -1478,6 +1484,9 @@ declare const InteractiveGraph: {
1478
1484
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1479
1485
  "locked-point-labels"?: boolean | undefined;
1480
1486
  "locked-line-labels"?: boolean | undefined;
1487
+ "locked-vector-labels"?: boolean | undefined;
1488
+ "locked-ellipse-labels"?: boolean | undefined;
1489
+ "locked-function-labels"?: boolean | undefined;
1481
1490
  }) | undefined;
1482
1491
  } | undefined;
1483
1492
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1493,7 +1502,6 @@ declare const InteractiveGraph: {
1493
1502
  isArticle: NonNullable<boolean | undefined>;
1494
1503
  isMobile: NonNullable<boolean | undefined>;
1495
1504
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1496
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1497
1505
  readOnly: NonNullable<boolean | undefined>;
1498
1506
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1499
1507
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1503,7 +1511,7 @@ declare const InteractiveGraph: {
1503
1511
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1504
1512
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1505
1513
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1506
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1514
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1507
1515
  onChange: import("@khanacademy/perseus").ChangeHandler;
1508
1516
  trackInteraction: (extraData?: Empty | undefined) => void;
1509
1517
  isLastUsedWidget: boolean;
@@ -1517,7 +1525,6 @@ declare const InteractiveGraph: {
1517
1525
  problemNum: number | null | undefined;
1518
1526
  apiOptions: Readonly<Readonly<{
1519
1527
  isArticle?: boolean | undefined;
1520
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1521
1528
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1522
1529
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1523
1530
  showAlignmentOptions?: boolean | undefined;
@@ -1565,6 +1572,9 @@ declare const InteractiveGraph: {
1565
1572
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1566
1573
  "locked-point-labels"?: boolean | undefined;
1567
1574
  "locked-line-labels"?: boolean | undefined;
1575
+ "locked-vector-labels"?: boolean | undefined;
1576
+ "locked-ellipse-labels"?: boolean | undefined;
1577
+ "locked-function-labels"?: boolean | undefined;
1568
1578
  }) | undefined;
1569
1579
  } | undefined;
1570
1580
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1580,7 +1590,6 @@ declare const InteractiveGraph: {
1580
1590
  isArticle: NonNullable<boolean | undefined>;
1581
1591
  isMobile: NonNullable<boolean | undefined>;
1582
1592
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1583
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1584
1593
  readOnly: NonNullable<boolean | undefined>;
1585
1594
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1586
1595
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1590,7 +1599,7 @@ declare const InteractiveGraph: {
1590
1599
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1591
1600
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1592
1601
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1593
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1602
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1594
1603
  onChange: import("@khanacademy/perseus").ChangeHandler;
1595
1604
  trackInteraction: (extraData?: Empty | undefined) => void;
1596
1605
  isLastUsedWidget: boolean;
@@ -1604,7 +1613,6 @@ declare const InteractiveGraph: {
1604
1613
  problemNum: number | null | undefined;
1605
1614
  apiOptions: Readonly<Readonly<{
1606
1615
  isArticle?: boolean | undefined;
1607
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1608
1616
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1609
1617
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1610
1618
  showAlignmentOptions?: boolean | undefined;
@@ -1652,6 +1660,9 @@ declare const InteractiveGraph: {
1652
1660
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1653
1661
  "locked-point-labels"?: boolean | undefined;
1654
1662
  "locked-line-labels"?: boolean | undefined;
1663
+ "locked-vector-labels"?: boolean | undefined;
1664
+ "locked-ellipse-labels"?: boolean | undefined;
1665
+ "locked-function-labels"?: boolean | undefined;
1655
1666
  }) | undefined;
1656
1667
  } | undefined;
1657
1668
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1667,7 +1678,6 @@ declare const InteractiveGraph: {
1667
1678
  isArticle: NonNullable<boolean | undefined>;
1668
1679
  isMobile: NonNullable<boolean | undefined>;
1669
1680
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1670
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1671
1681
  readOnly: NonNullable<boolean | undefined>;
1672
1682
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1673
1683
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1677,7 +1687,7 @@ declare const InteractiveGraph: {
1677
1687
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1678
1688
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1679
1689
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1680
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1690
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1681
1691
  onChange: import("@khanacademy/perseus").ChangeHandler;
1682
1692
  trackInteraction: (extraData?: Empty | undefined) => void;
1683
1693
  isLastUsedWidget: boolean;
@@ -1691,7 +1701,6 @@ declare const InteractiveGraph: {
1691
1701
  problemNum: number | null | undefined;
1692
1702
  apiOptions: Readonly<Readonly<{
1693
1703
  isArticle?: boolean | undefined;
1694
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1695
1704
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1696
1705
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1697
1706
  showAlignmentOptions?: boolean | undefined;
@@ -1739,6 +1748,9 @@ declare const InteractiveGraph: {
1739
1748
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1740
1749
  "locked-point-labels"?: boolean | undefined;
1741
1750
  "locked-line-labels"?: boolean | undefined;
1751
+ "locked-vector-labels"?: boolean | undefined;
1752
+ "locked-ellipse-labels"?: boolean | undefined;
1753
+ "locked-function-labels"?: boolean | undefined;
1742
1754
  }) | undefined;
1743
1755
  } | undefined;
1744
1756
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1754,7 +1766,6 @@ declare const InteractiveGraph: {
1754
1766
  isArticle: NonNullable<boolean | undefined>;
1755
1767
  isMobile: NonNullable<boolean | undefined>;
1756
1768
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1757
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1758
1769
  readOnly: NonNullable<boolean | undefined>;
1759
1770
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1760
1771
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1764,7 +1775,7 @@ declare const InteractiveGraph: {
1764
1775
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1765
1776
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1766
1777
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1767
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1778
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1768
1779
  onChange: import("@khanacademy/perseus").ChangeHandler;
1769
1780
  trackInteraction: (extraData?: Empty | undefined) => void;
1770
1781
  isLastUsedWidget: boolean;
@@ -1779,7 +1790,6 @@ declare const InteractiveGraph: {
1779
1790
  problemNum: number | null | undefined;
1780
1791
  apiOptions: Readonly<Readonly<{
1781
1792
  isArticle?: boolean | undefined;
1782
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1783
1793
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1784
1794
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1785
1795
  showAlignmentOptions?: boolean | undefined;
@@ -1827,6 +1837,9 @@ declare const InteractiveGraph: {
1827
1837
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1828
1838
  "locked-point-labels"?: boolean | undefined;
1829
1839
  "locked-line-labels"?: boolean | undefined;
1840
+ "locked-vector-labels"?: boolean | undefined;
1841
+ "locked-ellipse-labels"?: boolean | undefined;
1842
+ "locked-function-labels"?: boolean | undefined;
1830
1843
  }) | undefined;
1831
1844
  } | undefined;
1832
1845
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1842,7 +1855,6 @@ declare const InteractiveGraph: {
1842
1855
  isArticle: NonNullable<boolean | undefined>;
1843
1856
  isMobile: NonNullable<boolean | undefined>;
1844
1857
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1845
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1846
1858
  readOnly: NonNullable<boolean | undefined>;
1847
1859
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1848
1860
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1852,7 +1864,7 @@ declare const InteractiveGraph: {
1852
1864
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1853
1865
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1854
1866
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1855
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1867
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1856
1868
  onChange: import("@khanacademy/perseus").ChangeHandler;
1857
1869
  trackInteraction: (extraData?: Empty | undefined) => void;
1858
1870
  isLastUsedWidget: boolean;
@@ -1889,7 +1901,6 @@ declare const InteractiveGraph: {
1889
1901
  problemNum: number | null | undefined;
1890
1902
  apiOptions: Readonly<Readonly<{
1891
1903
  isArticle?: boolean | undefined;
1892
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1893
1904
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1894
1905
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1895
1906
  showAlignmentOptions?: boolean | undefined;
@@ -1937,6 +1948,9 @@ declare const InteractiveGraph: {
1937
1948
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1938
1949
  "locked-point-labels"?: boolean | undefined;
1939
1950
  "locked-line-labels"?: boolean | undefined;
1951
+ "locked-vector-labels"?: boolean | undefined;
1952
+ "locked-ellipse-labels"?: boolean | undefined;
1953
+ "locked-function-labels"?: boolean | undefined;
1940
1954
  }) | undefined;
1941
1955
  } | undefined;
1942
1956
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1952,7 +1966,6 @@ declare const InteractiveGraph: {
1952
1966
  isArticle: NonNullable<boolean | undefined>;
1953
1967
  isMobile: NonNullable<boolean | undefined>;
1954
1968
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1955
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1956
1969
  readOnly: NonNullable<boolean | undefined>;
1957
1970
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1958
1971
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1962,7 +1975,7 @@ declare const InteractiveGraph: {
1962
1975
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1963
1976
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1964
1977
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1965
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1978
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1966
1979
  onChange: import("@khanacademy/perseus").ChangeHandler;
1967
1980
  trackInteraction: (extraData?: Empty | undefined) => void;
1968
1981
  isLastUsedWidget: boolean;
@@ -1976,7 +1989,6 @@ declare const InteractiveGraph: {
1976
1989
  problemNum: number | null | undefined;
1977
1990
  apiOptions: Readonly<Readonly<{
1978
1991
  isArticle?: boolean | undefined;
1979
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1980
1992
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1981
1993
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1982
1994
  showAlignmentOptions?: boolean | undefined;
@@ -2024,6 +2036,9 @@ declare const InteractiveGraph: {
2024
2036
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2025
2037
  "locked-point-labels"?: boolean | undefined;
2026
2038
  "locked-line-labels"?: boolean | undefined;
2039
+ "locked-vector-labels"?: boolean | undefined;
2040
+ "locked-ellipse-labels"?: boolean | undefined;
2041
+ "locked-function-labels"?: boolean | undefined;
2027
2042
  }) | undefined;
2028
2043
  } | undefined;
2029
2044
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2039,7 +2054,6 @@ declare const InteractiveGraph: {
2039
2054
  isArticle: NonNullable<boolean | undefined>;
2040
2055
  isMobile: NonNullable<boolean | undefined>;
2041
2056
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2042
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2043
2057
  readOnly: NonNullable<boolean | undefined>;
2044
2058
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2045
2059
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2049,7 +2063,7 @@ declare const InteractiveGraph: {
2049
2063
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2050
2064
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2051
2065
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2052
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2066
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2053
2067
  onChange: import("@khanacademy/perseus").ChangeHandler;
2054
2068
  trackInteraction: (extraData?: Empty | undefined) => void;
2055
2069
  isLastUsedWidget: boolean;
@@ -2063,7 +2077,6 @@ declare const InteractiveGraph: {
2063
2077
  problemNum: number | null | undefined;
2064
2078
  apiOptions: Readonly<Readonly<{
2065
2079
  isArticle?: boolean | undefined;
2066
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2067
2080
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2068
2081
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2069
2082
  showAlignmentOptions?: boolean | undefined;
@@ -2111,6 +2124,9 @@ declare const InteractiveGraph: {
2111
2124
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2112
2125
  "locked-point-labels"?: boolean | undefined;
2113
2126
  "locked-line-labels"?: boolean | undefined;
2127
+ "locked-vector-labels"?: boolean | undefined;
2128
+ "locked-ellipse-labels"?: boolean | undefined;
2129
+ "locked-function-labels"?: boolean | undefined;
2114
2130
  }) | undefined;
2115
2131
  } | undefined;
2116
2132
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2126,7 +2142,6 @@ declare const InteractiveGraph: {
2126
2142
  isArticle: NonNullable<boolean | undefined>;
2127
2143
  isMobile: NonNullable<boolean | undefined>;
2128
2144
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2129
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2130
2145
  readOnly: NonNullable<boolean | undefined>;
2131
2146
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2132
2147
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2136,7 +2151,7 @@ declare const InteractiveGraph: {
2136
2151
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2137
2152
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2138
2153
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2139
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2154
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2140
2155
  onChange: import("@khanacademy/perseus").ChangeHandler;
2141
2156
  trackInteraction: (extraData?: Empty | undefined) => void;
2142
2157
  isLastUsedWidget: boolean;
@@ -2157,7 +2172,6 @@ declare const InteractiveGraph: {
2157
2172
  problemNum: number | null | undefined;
2158
2173
  apiOptions: Readonly<Readonly<{
2159
2174
  isArticle?: boolean | undefined;
2160
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2161
2175
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2162
2176
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2163
2177
  showAlignmentOptions?: boolean | undefined;
@@ -2205,6 +2219,9 @@ declare const InteractiveGraph: {
2205
2219
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2206
2220
  "locked-point-labels"?: boolean | undefined;
2207
2221
  "locked-line-labels"?: boolean | undefined;
2222
+ "locked-vector-labels"?: boolean | undefined;
2223
+ "locked-ellipse-labels"?: boolean | undefined;
2224
+ "locked-function-labels"?: boolean | undefined;
2208
2225
  }) | undefined;
2209
2226
  } | undefined;
2210
2227
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2220,7 +2237,6 @@ declare const InteractiveGraph: {
2220
2237
  isArticle: NonNullable<boolean | undefined>;
2221
2238
  isMobile: NonNullable<boolean | undefined>;
2222
2239
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2223
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2224
2240
  readOnly: NonNullable<boolean | undefined>;
2225
2241
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2226
2242
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2230,26 +2246,21 @@ declare const InteractiveGraph: {
2230
2246
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2231
2247
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2232
2248
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2233
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2249
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2234
2250
  onChange: import("@khanacademy/perseus").ChangeHandler;
2235
2251
  trackInteraction: (extraData?: Empty | undefined) => void;
2236
2252
  isLastUsedWidget: boolean;
2237
2253
  linterContext: import("@khanacademy/perseus-linter").LinterContextProps;
2238
2254
  containerSizeClass: SizingUtils.SizeClass;
2239
- }) | null | undefined) => boolean; /**
2240
- * The range of the graph in the x and y directions.
2241
- */
2255
+ }) | null | undefined) => boolean;
2242
2256
  areAngleGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeAngle, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeAngle): boolean;
2243
- /**
2244
- * How far apart the tick marks on the axes are in the x and y
2245
- * directions.
2246
- */
2247
2257
  arePointGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePoint, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePoint): boolean;
2248
2258
  arePolygonGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePolygon, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePolygon): boolean;
2249
2259
  areSegmentGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeSegment, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeSegment): boolean;
2250
2260
  _lineStroke: () => {
2251
2261
  "stroke-width"?: number | undefined; /**
2252
- * The size of the graph in pixels.
2262
+ * An error message to display in the graph area, or true if the
2263
+ * graph is valid.
2253
2264
  */
2254
2265
  };
2255
2266
  addLine: (arg1: string) => void;
@@ -2261,16 +2272,13 @@ declare const InteractiveGraph: {
2261
2272
  addQuadraticControls: () => void;
2262
2273
  updateQuadratic: () => void;
2263
2274
  removeQuadraticControls: () => void;
2264
- addSinusoidControls: () => void; /**
2265
- * The type of markings to display on the graph.
2266
- * - graph: shows the axes and the grid lines
2267
- * - grid: shows only the grid lines
2268
- * - none: shows no markings
2269
- */
2275
+ addSinusoidControls: () => void;
2270
2276
  updateSinusoid: () => void;
2271
2277
  removeSinusoidControls: () => void;
2272
2278
  addCircleControls: () => void;
2273
- removeCircleControls: () => void;
2279
+ removeCircleControls: () => void; /**
2280
+ * Whether to show the protractor on the graph.
2281
+ */
2274
2282
  addLinearSystemControls: () => void;
2275
2283
  removeLinearSystemControls: () => void;
2276
2284
  isCoordInTrash: (arg1: import("@khanacademy/perseus").Coord) => boolean;
@@ -2293,7 +2301,7 @@ declare const InteractiveGraph: {
2293
2301
  removeAngleControls: () => void;
2294
2302
  toggleShowSides: () => void;
2295
2303
  getUserInput(): PerseusGraphType;
2296
- simpleValidate(rubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric): import("@khanacademy/perseus").PerseusScore;
2304
+ simpleValidate(rubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric): import("@khanacademy/perseus").PerseusScore;
2297
2305
  focus: () => void;
2298
2306
  render(): React.ReactNode;
2299
2307
  setState<K extends string | number | symbol>(state: any, callback?: (() => void) | undefined): void;
@@ -2305,7 +2313,6 @@ declare const InteractiveGraph: {
2305
2313
  problemNum: number | null | undefined;
2306
2314
  apiOptions: Readonly<Readonly<{
2307
2315
  isArticle?: boolean | undefined;
2308
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2309
2316
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2310
2317
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2311
2318
  showAlignmentOptions?: boolean | undefined;
@@ -2353,6 +2360,9 @@ declare const InteractiveGraph: {
2353
2360
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2354
2361
  "locked-point-labels"?: boolean | undefined;
2355
2362
  "locked-line-labels"?: boolean | undefined;
2363
+ "locked-vector-labels"?: boolean | undefined;
2364
+ "locked-ellipse-labels"?: boolean | undefined;
2365
+ "locked-function-labels"?: boolean | undefined;
2356
2366
  }) | undefined;
2357
2367
  } | undefined;
2358
2368
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2368,7 +2378,6 @@ declare const InteractiveGraph: {
2368
2378
  isArticle: NonNullable<boolean | undefined>;
2369
2379
  isMobile: NonNullable<boolean | undefined>;
2370
2380
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2371
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2372
2381
  readOnly: NonNullable<boolean | undefined>;
2373
2382
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2374
2383
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2378,7 +2387,7 @@ declare const InteractiveGraph: {
2378
2387
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2379
2388
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2380
2389
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2381
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2390
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2382
2391
  onChange: import("@khanacademy/perseus").ChangeHandler;
2383
2392
  trackInteraction: (extraData?: Empty | undefined) => void;
2384
2393
  isLastUsedWidget: boolean;
@@ -2395,7 +2404,6 @@ declare const InteractiveGraph: {
2395
2404
  problemNum: number | null | undefined;
2396
2405
  apiOptions: Readonly<Readonly<{
2397
2406
  isArticle?: boolean | undefined;
2398
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2399
2407
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2400
2408
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2401
2409
  showAlignmentOptions?: boolean | undefined;
@@ -2443,6 +2451,9 @@ declare const InteractiveGraph: {
2443
2451
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2444
2452
  "locked-point-labels"?: boolean | undefined;
2445
2453
  "locked-line-labels"?: boolean | undefined;
2454
+ "locked-vector-labels"?: boolean | undefined;
2455
+ "locked-ellipse-labels"?: boolean | undefined;
2456
+ "locked-function-labels"?: boolean | undefined;
2446
2457
  }) | undefined;
2447
2458
  } | undefined;
2448
2459
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2458,7 +2469,6 @@ declare const InteractiveGraph: {
2458
2469
  isArticle: NonNullable<boolean | undefined>;
2459
2470
  isMobile: NonNullable<boolean | undefined>;
2460
2471
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2461
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2462
2472
  readOnly: NonNullable<boolean | undefined>;
2463
2473
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2464
2474
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2468,7 +2478,7 @@ declare const InteractiveGraph: {
2468
2478
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2469
2479
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2470
2480
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2471
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2481
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2472
2482
  onChange: import("@khanacademy/perseus").ChangeHandler;
2473
2483
  trackInteraction: (extraData?: Empty | undefined) => void;
2474
2484
  isLastUsedWidget: boolean;
@@ -2484,7 +2494,6 @@ declare const InteractiveGraph: {
2484
2494
  problemNum: number | null | undefined;
2485
2495
  apiOptions: Readonly<Readonly<{
2486
2496
  isArticle?: boolean | undefined;
2487
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2488
2497
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2489
2498
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2490
2499
  showAlignmentOptions?: boolean | undefined;
@@ -2532,6 +2541,9 @@ declare const InteractiveGraph: {
2532
2541
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2533
2542
  "locked-point-labels"?: boolean | undefined;
2534
2543
  "locked-line-labels"?: boolean | undefined;
2544
+ "locked-vector-labels"?: boolean | undefined;
2545
+ "locked-ellipse-labels"?: boolean | undefined;
2546
+ "locked-function-labels"?: boolean | undefined;
2535
2547
  }) | undefined;
2536
2548
  } | undefined;
2537
2549
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2547,7 +2559,6 @@ declare const InteractiveGraph: {
2547
2559
  isArticle: NonNullable<boolean | undefined>;
2548
2560
  isMobile: NonNullable<boolean | undefined>;
2549
2561
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2550
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2551
2562
  readOnly: NonNullable<boolean | undefined>;
2552
2563
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2553
2564
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2557,7 +2568,7 @@ declare const InteractiveGraph: {
2557
2568
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2558
2569
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2559
2570
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2560
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2571
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2561
2572
  onChange: import("@khanacademy/perseus").ChangeHandler;
2562
2573
  trackInteraction: (extraData?: Empty | undefined) => void;
2563
2574
  isLastUsedWidget: boolean;
@@ -2573,7 +2584,6 @@ declare const InteractiveGraph: {
2573
2584
  problemNum: number | null | undefined;
2574
2585
  apiOptions: Readonly<Readonly<{
2575
2586
  isArticle?: boolean | undefined;
2576
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2577
2587
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2578
2588
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2579
2589
  showAlignmentOptions?: boolean | undefined;
@@ -2621,6 +2631,9 @@ declare const InteractiveGraph: {
2621
2631
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2622
2632
  "locked-point-labels"?: boolean | undefined;
2623
2633
  "locked-line-labels"?: boolean | undefined;
2634
+ "locked-vector-labels"?: boolean | undefined;
2635
+ "locked-ellipse-labels"?: boolean | undefined;
2636
+ "locked-function-labels"?: boolean | undefined;
2624
2637
  }) | undefined;
2625
2638
  } | undefined;
2626
2639
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2636,7 +2649,6 @@ declare const InteractiveGraph: {
2636
2649
  isArticle: NonNullable<boolean | undefined>;
2637
2650
  isMobile: NonNullable<boolean | undefined>;
2638
2651
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2639
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2640
2652
  readOnly: NonNullable<boolean | undefined>;
2641
2653
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2642
2654
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2646,7 +2658,7 @@ declare const InteractiveGraph: {
2646
2658
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2647
2659
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2648
2660
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2649
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2661
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2650
2662
  onChange: import("@khanacademy/perseus").ChangeHandler;
2651
2663
  trackInteraction: (extraData?: Empty | undefined) => void;
2652
2664
  isLastUsedWidget: boolean;
@@ -2660,7 +2672,6 @@ declare const InteractiveGraph: {
2660
2672
  problemNum: number | null | undefined;
2661
2673
  apiOptions: Readonly<Readonly<{
2662
2674
  isArticle?: boolean | undefined;
2663
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2664
2675
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2665
2676
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2666
2677
  showAlignmentOptions?: boolean | undefined;
@@ -2708,6 +2719,9 @@ declare const InteractiveGraph: {
2708
2719
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2709
2720
  "locked-point-labels"?: boolean | undefined;
2710
2721
  "locked-line-labels"?: boolean | undefined;
2722
+ "locked-vector-labels"?: boolean | undefined;
2723
+ "locked-ellipse-labels"?: boolean | undefined;
2724
+ "locked-function-labels"?: boolean | undefined;
2711
2725
  }) | undefined;
2712
2726
  } | undefined;
2713
2727
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2723,7 +2737,6 @@ declare const InteractiveGraph: {
2723
2737
  isArticle: NonNullable<boolean | undefined>;
2724
2738
  isMobile: NonNullable<boolean | undefined>;
2725
2739
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2726
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2727
2740
  readOnly: NonNullable<boolean | undefined>;
2728
2741
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2729
2742
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2733,7 +2746,7 @@ declare const InteractiveGraph: {
2733
2746
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2734
2747
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2735
2748
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2736
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2749
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2737
2750
  onChange: import("@khanacademy/perseus").ChangeHandler;
2738
2751
  trackInteraction: (extraData?: Empty | undefined) => void;
2739
2752
  isLastUsedWidget: boolean;
@@ -2747,7 +2760,6 @@ declare const InteractiveGraph: {
2747
2760
  problemNum: number | null | undefined;
2748
2761
  apiOptions: Readonly<Readonly<{
2749
2762
  isArticle?: boolean | undefined;
2750
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2751
2763
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2752
2764
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2753
2765
  showAlignmentOptions?: boolean | undefined;
@@ -2795,6 +2807,9 @@ declare const InteractiveGraph: {
2795
2807
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2796
2808
  "locked-point-labels"?: boolean | undefined;
2797
2809
  "locked-line-labels"?: boolean | undefined;
2810
+ "locked-vector-labels"?: boolean | undefined;
2811
+ "locked-ellipse-labels"?: boolean | undefined;
2812
+ "locked-function-labels"?: boolean | undefined;
2798
2813
  }) | undefined;
2799
2814
  } | undefined;
2800
2815
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2810,7 +2825,6 @@ declare const InteractiveGraph: {
2810
2825
  isArticle: NonNullable<boolean | undefined>;
2811
2826
  isMobile: NonNullable<boolean | undefined>;
2812
2827
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2813
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2814
2828
  readOnly: NonNullable<boolean | undefined>;
2815
2829
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2816
2830
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2820,7 +2834,7 @@ declare const InteractiveGraph: {
2820
2834
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2821
2835
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2822
2836
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2823
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2837
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2824
2838
  onChange: import("@khanacademy/perseus").ChangeHandler;
2825
2839
  trackInteraction: (extraData?: Empty | undefined) => void;
2826
2840
  isLastUsedWidget: boolean;
@@ -2828,9 +2842,9 @@ declare const InteractiveGraph: {
2828
2842
  containerSizeClass: SizingUtils.SizeClass;
2829
2843
  }>, nextState: Readonly<any>, nextContext: any): void;
2830
2844
  }>;
2831
- mafsRef: React.RefObject<import("../../../../perseus/src/renderer").Widget>;
2832
- getUserInput: (() => any) | undefined;
2833
- simpleValidate(rubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric): import("@khanacademy/perseus").PerseusScore;
2845
+ mafsRef: React.RefObject<import("../../../../perseus/src/widgets/interactive-graphs/stateful-mafs-graph").StatefulMafsGraphType>;
2846
+ getUserInput(): PerseusGraphType;
2847
+ simpleValidate(rubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric): import("@khanacademy/perseus").PerseusScore;
2834
2848
  render(): React.JSX.Element;
2835
2849
  context: unknown;
2836
2850
  setState<K_1 extends string | number | symbol>(state: any, callback?: (() => void) | undefined): void;
@@ -2842,7 +2856,6 @@ declare const InteractiveGraph: {
2842
2856
  problemNum: number | null | undefined;
2843
2857
  apiOptions: Readonly<Readonly<{
2844
2858
  isArticle?: boolean | undefined;
2845
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2846
2859
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2847
2860
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2848
2861
  showAlignmentOptions?: boolean | undefined;
@@ -2890,6 +2903,9 @@ declare const InteractiveGraph: {
2890
2903
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2891
2904
  "locked-point-labels"?: boolean | undefined;
2892
2905
  "locked-line-labels"?: boolean | undefined;
2906
+ "locked-vector-labels"?: boolean | undefined;
2907
+ "locked-ellipse-labels"?: boolean | undefined;
2908
+ "locked-function-labels"?: boolean | undefined;
2893
2909
  }) | undefined;
2894
2910
  } | undefined;
2895
2911
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2905,7 +2921,6 @@ declare const InteractiveGraph: {
2905
2921
  isArticle: NonNullable<boolean | undefined>;
2906
2922
  isMobile: NonNullable<boolean | undefined>;
2907
2923
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2908
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2909
2924
  readOnly: NonNullable<boolean | undefined>;
2910
2925
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2911
2926
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2915,7 +2930,7 @@ declare const InteractiveGraph: {
2915
2930
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2916
2931
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2917
2932
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2918
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2933
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2919
2934
  onChange: import("@khanacademy/perseus").ChangeHandler;
2920
2935
  trackInteraction: (extraData?: Empty | undefined) => void;
2921
2936
  isLastUsedWidget: boolean;
@@ -2934,7 +2949,6 @@ declare const InteractiveGraph: {
2934
2949
  problemNum: number | null | undefined;
2935
2950
  apiOptions: Readonly<Readonly<{
2936
2951
  isArticle?: boolean | undefined;
2937
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2938
2952
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2939
2953
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2940
2954
  showAlignmentOptions?: boolean | undefined;
@@ -2982,6 +2996,9 @@ declare const InteractiveGraph: {
2982
2996
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2983
2997
  "locked-point-labels"?: boolean | undefined;
2984
2998
  "locked-line-labels"?: boolean | undefined;
2999
+ "locked-vector-labels"?: boolean | undefined;
3000
+ "locked-ellipse-labels"?: boolean | undefined;
3001
+ "locked-function-labels"?: boolean | undefined;
2985
3002
  }) | undefined;
2986
3003
  } | undefined;
2987
3004
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2997,7 +3014,6 @@ declare const InteractiveGraph: {
2997
3014
  isArticle: NonNullable<boolean | undefined>;
2998
3015
  isMobile: NonNullable<boolean | undefined>;
2999
3016
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3000
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3001
3017
  readOnly: NonNullable<boolean | undefined>;
3002
3018
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3003
3019
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3007,7 +3023,7 @@ declare const InteractiveGraph: {
3007
3023
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3008
3024
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3009
3025
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3010
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3026
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3011
3027
  onChange: import("@khanacademy/perseus").ChangeHandler;
3012
3028
  trackInteraction: (extraData?: Empty | undefined) => void;
3013
3029
  isLastUsedWidget: boolean;
@@ -3023,7 +3039,6 @@ declare const InteractiveGraph: {
3023
3039
  problemNum: number | null | undefined;
3024
3040
  apiOptions: Readonly<Readonly<{
3025
3041
  isArticle?: boolean | undefined;
3026
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3027
3042
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3028
3043
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3029
3044
  showAlignmentOptions?: boolean | undefined;
@@ -3071,6 +3086,9 @@ declare const InteractiveGraph: {
3071
3086
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3072
3087
  "locked-point-labels"?: boolean | undefined;
3073
3088
  "locked-line-labels"?: boolean | undefined;
3089
+ "locked-vector-labels"?: boolean | undefined;
3090
+ "locked-ellipse-labels"?: boolean | undefined;
3091
+ "locked-function-labels"?: boolean | undefined;
3074
3092
  }) | undefined;
3075
3093
  } | undefined;
3076
3094
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3086,7 +3104,6 @@ declare const InteractiveGraph: {
3086
3104
  isArticle: NonNullable<boolean | undefined>;
3087
3105
  isMobile: NonNullable<boolean | undefined>;
3088
3106
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3089
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3090
3107
  readOnly: NonNullable<boolean | undefined>;
3091
3108
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3092
3109
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3096,7 +3113,7 @@ declare const InteractiveGraph: {
3096
3113
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3097
3114
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3098
3115
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3099
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3116
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3100
3117
  onChange: import("@khanacademy/perseus").ChangeHandler;
3101
3118
  trackInteraction: (extraData?: Empty | undefined) => void;
3102
3119
  isLastUsedWidget: boolean;
@@ -3110,7 +3127,6 @@ declare const InteractiveGraph: {
3110
3127
  problemNum: number | null | undefined;
3111
3128
  apiOptions: Readonly<Readonly<{
3112
3129
  isArticle?: boolean | undefined;
3113
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3114
3130
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3115
3131
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3116
3132
  showAlignmentOptions?: boolean | undefined;
@@ -3158,6 +3174,9 @@ declare const InteractiveGraph: {
3158
3174
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3159
3175
  "locked-point-labels"?: boolean | undefined;
3160
3176
  "locked-line-labels"?: boolean | undefined;
3177
+ "locked-vector-labels"?: boolean | undefined;
3178
+ "locked-ellipse-labels"?: boolean | undefined;
3179
+ "locked-function-labels"?: boolean | undefined;
3161
3180
  }) | undefined;
3162
3181
  } | undefined;
3163
3182
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3173,7 +3192,6 @@ declare const InteractiveGraph: {
3173
3192
  isArticle: NonNullable<boolean | undefined>;
3174
3193
  isMobile: NonNullable<boolean | undefined>;
3175
3194
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3176
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3177
3195
  readOnly: NonNullable<boolean | undefined>;
3178
3196
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3179
3197
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3183,7 +3201,7 @@ declare const InteractiveGraph: {
3183
3201
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3184
3202
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3185
3203
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3186
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3204
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3187
3205
  onChange: import("@khanacademy/perseus").ChangeHandler;
3188
3206
  trackInteraction: (extraData?: Empty | undefined) => void;
3189
3207
  isLastUsedWidget: boolean;
@@ -3199,7 +3217,6 @@ declare const InteractiveGraph: {
3199
3217
  problemNum: number | null | undefined;
3200
3218
  apiOptions: Readonly<Readonly<{
3201
3219
  isArticle?: boolean | undefined;
3202
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3203
3220
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3204
3221
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3205
3222
  showAlignmentOptions?: boolean | undefined;
@@ -3247,6 +3264,9 @@ declare const InteractiveGraph: {
3247
3264
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3248
3265
  "locked-point-labels"?: boolean | undefined;
3249
3266
  "locked-line-labels"?: boolean | undefined;
3267
+ "locked-vector-labels"?: boolean | undefined;
3268
+ "locked-ellipse-labels"?: boolean | undefined;
3269
+ "locked-function-labels"?: boolean | undefined;
3250
3270
  }) | undefined;
3251
3271
  } | undefined;
3252
3272
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3262,7 +3282,6 @@ declare const InteractiveGraph: {
3262
3282
  isArticle: NonNullable<boolean | undefined>;
3263
3283
  isMobile: NonNullable<boolean | undefined>;
3264
3284
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3265
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3266
3285
  readOnly: NonNullable<boolean | undefined>;
3267
3286
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3268
3287
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3272,7 +3291,7 @@ declare const InteractiveGraph: {
3272
3291
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3273
3292
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3274
3293
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3275
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3294
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3276
3295
  onChange: import("@khanacademy/perseus").ChangeHandler;
3277
3296
  trackInteraction: (extraData?: Empty | undefined) => void;
3278
3297
  isLastUsedWidget: boolean;
@@ -3286,7 +3305,6 @@ declare const InteractiveGraph: {
3286
3305
  problemNum: number | null | undefined;
3287
3306
  apiOptions: Readonly<Readonly<{
3288
3307
  isArticle?: boolean | undefined;
3289
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3290
3308
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3291
3309
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3292
3310
  showAlignmentOptions?: boolean | undefined;
@@ -3334,6 +3352,9 @@ declare const InteractiveGraph: {
3334
3352
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3335
3353
  "locked-point-labels"?: boolean | undefined;
3336
3354
  "locked-line-labels"?: boolean | undefined;
3355
+ "locked-vector-labels"?: boolean | undefined;
3356
+ "locked-ellipse-labels"?: boolean | undefined;
3357
+ "locked-function-labels"?: boolean | undefined;
3337
3358
  }) | undefined;
3338
3359
  } | undefined;
3339
3360
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3349,7 +3370,6 @@ declare const InteractiveGraph: {
3349
3370
  isArticle: NonNullable<boolean | undefined>;
3350
3371
  isMobile: NonNullable<boolean | undefined>;
3351
3372
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3352
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3353
3373
  readOnly: NonNullable<boolean | undefined>;
3354
3374
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3355
3375
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3359,7 +3379,7 @@ declare const InteractiveGraph: {
3359
3379
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3360
3380
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3361
3381
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3362
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3382
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3363
3383
  onChange: import("@khanacademy/perseus").ChangeHandler;
3364
3384
  trackInteraction: (extraData?: Empty | undefined) => void;
3365
3385
  isLastUsedWidget: boolean;
@@ -3373,7 +3393,6 @@ declare const InteractiveGraph: {
3373
3393
  problemNum: number | null | undefined;
3374
3394
  apiOptions: Readonly<Readonly<{
3375
3395
  isArticle?: boolean | undefined;
3376
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3377
3396
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3378
3397
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3379
3398
  showAlignmentOptions?: boolean | undefined;
@@ -3421,6 +3440,9 @@ declare const InteractiveGraph: {
3421
3440
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3422
3441
  "locked-point-labels"?: boolean | undefined;
3423
3442
  "locked-line-labels"?: boolean | undefined;
3443
+ "locked-vector-labels"?: boolean | undefined;
3444
+ "locked-ellipse-labels"?: boolean | undefined;
3445
+ "locked-function-labels"?: boolean | undefined;
3424
3446
  }) | undefined;
3425
3447
  } | undefined;
3426
3448
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3436,7 +3458,6 @@ declare const InteractiveGraph: {
3436
3458
  isArticle: NonNullable<boolean | undefined>;
3437
3459
  isMobile: NonNullable<boolean | undefined>;
3438
3460
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3439
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3440
3461
  readOnly: NonNullable<boolean | undefined>;
3441
3462
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3442
3463
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3446,7 +3467,7 @@ declare const InteractiveGraph: {
3446
3467
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3447
3468
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3448
3469
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3449
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3470
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3450
3471
  onChange: import("@khanacademy/perseus").ChangeHandler;
3451
3472
  trackInteraction: (extraData?: Empty | undefined) => void;
3452
3473
  isLastUsedWidget: boolean;
@@ -3460,7 +3481,6 @@ declare const InteractiveGraph: {
3460
3481
  problemNum: number | null | undefined;
3461
3482
  apiOptions: Readonly<Readonly<{
3462
3483
  isArticle?: boolean | undefined;
3463
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3464
3484
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3465
3485
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3466
3486
  showAlignmentOptions?: boolean | undefined;
@@ -3508,6 +3528,9 @@ declare const InteractiveGraph: {
3508
3528
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3509
3529
  "locked-point-labels"?: boolean | undefined;
3510
3530
  "locked-line-labels"?: boolean | undefined;
3531
+ "locked-vector-labels"?: boolean | undefined;
3532
+ "locked-ellipse-labels"?: boolean | undefined;
3533
+ "locked-function-labels"?: boolean | undefined;
3511
3534
  }) | undefined;
3512
3535
  } | undefined;
3513
3536
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3523,7 +3546,6 @@ declare const InteractiveGraph: {
3523
3546
  isArticle: NonNullable<boolean | undefined>;
3524
3547
  isMobile: NonNullable<boolean | undefined>;
3525
3548
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3526
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3527
3549
  readOnly: NonNullable<boolean | undefined>;
3528
3550
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3529
3551
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3533,7 +3555,7 @@ declare const InteractiveGraph: {
3533
3555
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3534
3556
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3535
3557
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3536
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3558
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3537
3559
  onChange: import("@khanacademy/perseus").ChangeHandler;
3538
3560
  trackInteraction: (extraData?: Empty | undefined) => void;
3539
3561
  isLastUsedWidget: boolean;
@@ -3560,7 +3582,6 @@ declare const InteractiveGraph: {
3560
3582
  problemNum: number | null | undefined;
3561
3583
  apiOptions: Readonly<Readonly<{
3562
3584
  isArticle?: boolean | undefined;
3563
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3564
3585
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3565
3586
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3566
3587
  showAlignmentOptions?: boolean | undefined;
@@ -3608,6 +3629,9 @@ declare const InteractiveGraph: {
3608
3629
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3609
3630
  "locked-point-labels"?: boolean | undefined;
3610
3631
  "locked-line-labels"?: boolean | undefined;
3632
+ "locked-vector-labels"?: boolean | undefined;
3633
+ "locked-ellipse-labels"?: boolean | undefined;
3634
+ "locked-function-labels"?: boolean | undefined;
3611
3635
  }) | undefined;
3612
3636
  } | undefined;
3613
3637
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3623,7 +3647,6 @@ declare const InteractiveGraph: {
3623
3647
  isArticle: NonNullable<boolean | undefined>;
3624
3648
  isMobile: NonNullable<boolean | undefined>;
3625
3649
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3626
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3627
3650
  readOnly: NonNullable<boolean | undefined>;
3628
3651
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3629
3652
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3633,7 +3656,7 @@ declare const InteractiveGraph: {
3633
3656
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3634
3657
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3635
3658
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3636
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3659
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3637
3660
  onChange: import("@khanacademy/perseus").ChangeHandler;
3638
3661
  trackInteraction: (extraData?: Empty | undefined) => void;
3639
3662
  isLastUsedWidget: boolean;
@@ -3647,7 +3670,6 @@ declare const InteractiveGraph: {
3647
3670
  problemNum: number | null | undefined;
3648
3671
  apiOptions: Readonly<Readonly<{
3649
3672
  isArticle?: boolean | undefined;
3650
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3651
3673
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3652
3674
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3653
3675
  showAlignmentOptions?: boolean | undefined;
@@ -3695,6 +3717,9 @@ declare const InteractiveGraph: {
3695
3717
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3696
3718
  "locked-point-labels"?: boolean | undefined;
3697
3719
  "locked-line-labels"?: boolean | undefined;
3720
+ "locked-vector-labels"?: boolean | undefined;
3721
+ "locked-ellipse-labels"?: boolean | undefined;
3722
+ "locked-function-labels"?: boolean | undefined;
3698
3723
  }) | undefined;
3699
3724
  } | undefined;
3700
3725
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3710,7 +3735,6 @@ declare const InteractiveGraph: {
3710
3735
  isArticle: NonNullable<boolean | undefined>;
3711
3736
  isMobile: NonNullable<boolean | undefined>;
3712
3737
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3713
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3714
3738
  readOnly: NonNullable<boolean | undefined>;
3715
3739
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3716
3740
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3720,7 +3744,7 @@ declare const InteractiveGraph: {
3720
3744
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3721
3745
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3722
3746
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3723
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3747
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3724
3748
  onChange: import("@khanacademy/perseus").ChangeHandler;
3725
3749
  trackInteraction: (extraData?: Empty | undefined) => void;
3726
3750
  isLastUsedWidget: boolean;
@@ -3734,7 +3758,6 @@ declare const InteractiveGraph: {
3734
3758
  problemNum: number | null | undefined;
3735
3759
  apiOptions: Readonly<Readonly<{
3736
3760
  isArticle?: boolean | undefined;
3737
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3738
3761
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3739
3762
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3740
3763
  showAlignmentOptions?: boolean | undefined;
@@ -3782,6 +3805,9 @@ declare const InteractiveGraph: {
3782
3805
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3783
3806
  "locked-point-labels"?: boolean | undefined;
3784
3807
  "locked-line-labels"?: boolean | undefined;
3808
+ "locked-vector-labels"?: boolean | undefined;
3809
+ "locked-ellipse-labels"?: boolean | undefined;
3810
+ "locked-function-labels"?: boolean | undefined;
3785
3811
  }) | undefined;
3786
3812
  } | undefined;
3787
3813
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3797,7 +3823,6 @@ declare const InteractiveGraph: {
3797
3823
  isArticle: NonNullable<boolean | undefined>;
3798
3824
  isMobile: NonNullable<boolean | undefined>;
3799
3825
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3800
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3801
3826
  readOnly: NonNullable<boolean | undefined>;
3802
3827
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3803
3828
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3807,7 +3832,7 @@ declare const InteractiveGraph: {
3807
3832
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3808
3833
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3809
3834
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3810
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3835
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3811
3836
  onChange: import("@khanacademy/perseus").ChangeHandler;
3812
3837
  trackInteraction: (extraData?: Empty | undefined) => void;
3813
3838
  isLastUsedWidget: boolean;
@@ -3821,7 +3846,6 @@ declare const InteractiveGraph: {
3821
3846
  problemNum: number | null | undefined;
3822
3847
  apiOptions: Readonly<Readonly<{
3823
3848
  isArticle?: boolean | undefined;
3824
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3825
3849
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3826
3850
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3827
3851
  showAlignmentOptions?: boolean | undefined;
@@ -3869,6 +3893,9 @@ declare const InteractiveGraph: {
3869
3893
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3870
3894
  "locked-point-labels"?: boolean | undefined;
3871
3895
  "locked-line-labels"?: boolean | undefined;
3896
+ "locked-vector-labels"?: boolean | undefined;
3897
+ "locked-ellipse-labels"?: boolean | undefined;
3898
+ "locked-function-labels"?: boolean | undefined;
3872
3899
  }) | undefined;
3873
3900
  } | undefined;
3874
3901
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3884,7 +3911,6 @@ declare const InteractiveGraph: {
3884
3911
  isArticle: NonNullable<boolean | undefined>;
3885
3912
  isMobile: NonNullable<boolean | undefined>;
3886
3913
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3887
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3888
3914
  readOnly: NonNullable<boolean | undefined>;
3889
3915
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3890
3916
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3894,7 +3920,7 @@ declare const InteractiveGraph: {
3894
3920
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3895
3921
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3896
3922
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3897
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3923
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3898
3924
  onChange: import("@khanacademy/perseus").ChangeHandler;
3899
3925
  trackInteraction: (extraData?: Empty | undefined) => void;
3900
3926
  isLastUsedWidget: boolean;
@@ -3908,7 +3934,6 @@ declare const InteractiveGraph: {
3908
3934
  problemNum: number | null | undefined;
3909
3935
  apiOptions: Readonly<Readonly<{
3910
3936
  isArticle?: boolean | undefined;
3911
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3912
3937
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3913
3938
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3914
3939
  showAlignmentOptions?: boolean | undefined;
@@ -3956,6 +3981,9 @@ declare const InteractiveGraph: {
3956
3981
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3957
3982
  "locked-point-labels"?: boolean | undefined;
3958
3983
  "locked-line-labels"?: boolean | undefined;
3984
+ "locked-vector-labels"?: boolean | undefined;
3985
+ "locked-ellipse-labels"?: boolean | undefined;
3986
+ "locked-function-labels"?: boolean | undefined;
3959
3987
  }) | undefined;
3960
3988
  } | undefined;
3961
3989
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3971,7 +3999,6 @@ declare const InteractiveGraph: {
3971
3999
  isArticle: NonNullable<boolean | undefined>;
3972
4000
  isMobile: NonNullable<boolean | undefined>;
3973
4001
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3974
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3975
4002
  readOnly: NonNullable<boolean | undefined>;
3976
4003
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3977
4004
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3981,7 +4008,7 @@ declare const InteractiveGraph: {
3981
4008
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3982
4009
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3983
4010
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3984
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4011
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3985
4012
  onChange: import("@khanacademy/perseus").ChangeHandler;
3986
4013
  trackInteraction: (extraData?: Empty | undefined) => void;
3987
4014
  isLastUsedWidget: boolean;
@@ -3995,7 +4022,6 @@ declare const InteractiveGraph: {
3995
4022
  problemNum: number | null | undefined;
3996
4023
  apiOptions: Readonly<Readonly<{
3997
4024
  isArticle?: boolean | undefined;
3998
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3999
4025
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4000
4026
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4001
4027
  showAlignmentOptions?: boolean | undefined;
@@ -4043,6 +4069,9 @@ declare const InteractiveGraph: {
4043
4069
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4044
4070
  "locked-point-labels"?: boolean | undefined;
4045
4071
  "locked-line-labels"?: boolean | undefined;
4072
+ "locked-vector-labels"?: boolean | undefined;
4073
+ "locked-ellipse-labels"?: boolean | undefined;
4074
+ "locked-function-labels"?: boolean | undefined;
4046
4075
  }) | undefined;
4047
4076
  } | undefined;
4048
4077
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4058,7 +4087,6 @@ declare const InteractiveGraph: {
4058
4087
  isArticle: NonNullable<boolean | undefined>;
4059
4088
  isMobile: NonNullable<boolean | undefined>;
4060
4089
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4061
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4062
4090
  readOnly: NonNullable<boolean | undefined>;
4063
4091
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4064
4092
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4068,7 +4096,7 @@ declare const InteractiveGraph: {
4068
4096
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4069
4097
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4070
4098
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4071
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4099
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4072
4100
  onChange: import("@khanacademy/perseus").ChangeHandler;
4073
4101
  trackInteraction: (extraData?: Empty | undefined) => void;
4074
4102
  isLastUsedWidget: boolean;
@@ -4083,7 +4111,6 @@ declare const InteractiveGraph: {
4083
4111
  problemNum: number | null | undefined;
4084
4112
  apiOptions: Readonly<Readonly<{
4085
4113
  isArticle?: boolean | undefined;
4086
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4087
4114
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4088
4115
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4089
4116
  showAlignmentOptions?: boolean | undefined;
@@ -4131,6 +4158,9 @@ declare const InteractiveGraph: {
4131
4158
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4132
4159
  "locked-point-labels"?: boolean | undefined;
4133
4160
  "locked-line-labels"?: boolean | undefined;
4161
+ "locked-vector-labels"?: boolean | undefined;
4162
+ "locked-ellipse-labels"?: boolean | undefined;
4163
+ "locked-function-labels"?: boolean | undefined;
4134
4164
  }) | undefined;
4135
4165
  } | undefined;
4136
4166
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4146,7 +4176,6 @@ declare const InteractiveGraph: {
4146
4176
  isArticle: NonNullable<boolean | undefined>;
4147
4177
  isMobile: NonNullable<boolean | undefined>;
4148
4178
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4149
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4150
4179
  readOnly: NonNullable<boolean | undefined>;
4151
4180
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4152
4181
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4156,7 +4185,7 @@ declare const InteractiveGraph: {
4156
4185
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4157
4186
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4158
4187
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4159
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4188
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4160
4189
  onChange: import("@khanacademy/perseus").ChangeHandler;
4161
4190
  trackInteraction: (extraData?: Empty | undefined) => void;
4162
4191
  isLastUsedWidget: boolean;
@@ -4170,7 +4199,6 @@ declare const InteractiveGraph: {
4170
4199
  problemNum: number | null | undefined;
4171
4200
  apiOptions: Readonly<Readonly<{
4172
4201
  isArticle?: boolean | undefined;
4173
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4174
4202
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4175
4203
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4176
4204
  showAlignmentOptions?: boolean | undefined;
@@ -4218,6 +4246,9 @@ declare const InteractiveGraph: {
4218
4246
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4219
4247
  "locked-point-labels"?: boolean | undefined;
4220
4248
  "locked-line-labels"?: boolean | undefined;
4249
+ "locked-vector-labels"?: boolean | undefined;
4250
+ "locked-ellipse-labels"?: boolean | undefined;
4251
+ "locked-function-labels"?: boolean | undefined;
4221
4252
  }) | undefined;
4222
4253
  } | undefined;
4223
4254
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4233,7 +4264,6 @@ declare const InteractiveGraph: {
4233
4264
  isArticle: NonNullable<boolean | undefined>;
4234
4265
  isMobile: NonNullable<boolean | undefined>;
4235
4266
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4236
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4237
4267
  readOnly: NonNullable<boolean | undefined>;
4238
4268
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4239
4269
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4243,7 +4273,7 @@ declare const InteractiveGraph: {
4243
4273
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4244
4274
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4245
4275
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4246
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4276
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4247
4277
  onChange: import("@khanacademy/perseus").ChangeHandler;
4248
4278
  trackInteraction: (extraData?: Empty | undefined) => void;
4249
4279
  isLastUsedWidget: boolean;
@@ -4258,7 +4288,6 @@ declare const InteractiveGraph: {
4258
4288
  problemNum: number | null | undefined;
4259
4289
  apiOptions: Readonly<Readonly<{
4260
4290
  isArticle?: boolean | undefined;
4261
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4262
4291
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4263
4292
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4264
4293
  showAlignmentOptions?: boolean | undefined;
@@ -4306,6 +4335,9 @@ declare const InteractiveGraph: {
4306
4335
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4307
4336
  "locked-point-labels"?: boolean | undefined;
4308
4337
  "locked-line-labels"?: boolean | undefined;
4338
+ "locked-vector-labels"?: boolean | undefined;
4339
+ "locked-ellipse-labels"?: boolean | undefined;
4340
+ "locked-function-labels"?: boolean | undefined;
4309
4341
  }) | undefined;
4310
4342
  } | undefined;
4311
4343
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4321,7 +4353,6 @@ declare const InteractiveGraph: {
4321
4353
  isArticle: NonNullable<boolean | undefined>;
4322
4354
  isMobile: NonNullable<boolean | undefined>;
4323
4355
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4324
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4325
4356
  readOnly: NonNullable<boolean | undefined>;
4326
4357
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4327
4358
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4331,7 +4362,7 @@ declare const InteractiveGraph: {
4331
4362
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4332
4363
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4333
4364
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4334
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4365
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4335
4366
  onChange: import("@khanacademy/perseus").ChangeHandler;
4336
4367
  trackInteraction: (extraData?: Empty | undefined) => void;
4337
4368
  isLastUsedWidget: boolean;
@@ -4345,7 +4376,6 @@ declare const InteractiveGraph: {
4345
4376
  problemNum: number | null | undefined;
4346
4377
  apiOptions: Readonly<Readonly<{
4347
4378
  isArticle?: boolean | undefined;
4348
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4349
4379
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4350
4380
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4351
4381
  showAlignmentOptions?: boolean | undefined;
@@ -4393,6 +4423,9 @@ declare const InteractiveGraph: {
4393
4423
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4394
4424
  "locked-point-labels"?: boolean | undefined;
4395
4425
  "locked-line-labels"?: boolean | undefined;
4426
+ "locked-vector-labels"?: boolean | undefined;
4427
+ "locked-ellipse-labels"?: boolean | undefined;
4428
+ "locked-function-labels"?: boolean | undefined;
4396
4429
  }) | undefined;
4397
4430
  } | undefined;
4398
4431
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4408,7 +4441,6 @@ declare const InteractiveGraph: {
4408
4441
  isArticle: NonNullable<boolean | undefined>;
4409
4442
  isMobile: NonNullable<boolean | undefined>;
4410
4443
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4411
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4412
4444
  readOnly: NonNullable<boolean | undefined>;
4413
4445
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4414
4446
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4418,7 +4450,7 @@ declare const InteractiveGraph: {
4418
4450
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4419
4451
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4420
4452
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4421
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4453
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4422
4454
  onChange: import("@khanacademy/perseus").ChangeHandler;
4423
4455
  trackInteraction: (extraData?: Empty | undefined) => void;
4424
4456
  isLastUsedWidget: boolean;
@@ -4432,7 +4464,6 @@ declare const InteractiveGraph: {
4432
4464
  problemNum: number | null | undefined;
4433
4465
  apiOptions: Readonly<Readonly<{
4434
4466
  isArticle?: boolean | undefined;
4435
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4436
4467
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4437
4468
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4438
4469
  showAlignmentOptions?: boolean | undefined;
@@ -4480,6 +4511,9 @@ declare const InteractiveGraph: {
4480
4511
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4481
4512
  "locked-point-labels"?: boolean | undefined;
4482
4513
  "locked-line-labels"?: boolean | undefined;
4514
+ "locked-vector-labels"?: boolean | undefined;
4515
+ "locked-ellipse-labels"?: boolean | undefined;
4516
+ "locked-function-labels"?: boolean | undefined;
4483
4517
  }) | undefined;
4484
4518
  } | undefined;
4485
4519
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4495,7 +4529,6 @@ declare const InteractiveGraph: {
4495
4529
  isArticle: NonNullable<boolean | undefined>;
4496
4530
  isMobile: NonNullable<boolean | undefined>;
4497
4531
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4498
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4499
4532
  readOnly: NonNullable<boolean | undefined>;
4500
4533
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4501
4534
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4505,7 +4538,7 @@ declare const InteractiveGraph: {
4505
4538
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4506
4539
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4507
4540
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4508
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4541
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4509
4542
  onChange: import("@khanacademy/perseus").ChangeHandler;
4510
4543
  trackInteraction: (extraData?: Empty | undefined) => void;
4511
4544
  isLastUsedWidget: boolean;
@@ -4519,7 +4552,6 @@ declare const InteractiveGraph: {
4519
4552
  problemNum: number | null | undefined;
4520
4553
  apiOptions: Readonly<Readonly<{
4521
4554
  isArticle?: boolean | undefined;
4522
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4523
4555
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4524
4556
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4525
4557
  showAlignmentOptions?: boolean | undefined;
@@ -4567,6 +4599,9 @@ declare const InteractiveGraph: {
4567
4599
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4568
4600
  "locked-point-labels"?: boolean | undefined;
4569
4601
  "locked-line-labels"?: boolean | undefined;
4602
+ "locked-vector-labels"?: boolean | undefined;
4603
+ "locked-ellipse-labels"?: boolean | undefined;
4604
+ "locked-function-labels"?: boolean | undefined;
4570
4605
  }) | undefined;
4571
4606
  } | undefined;
4572
4607
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4582,7 +4617,6 @@ declare const InteractiveGraph: {
4582
4617
  isArticle: NonNullable<boolean | undefined>;
4583
4618
  isMobile: NonNullable<boolean | undefined>;
4584
4619
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4585
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4586
4620
  readOnly: NonNullable<boolean | undefined>;
4587
4621
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4588
4622
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4592,7 +4626,7 @@ declare const InteractiveGraph: {
4592
4626
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4593
4627
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4594
4628
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4595
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4629
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4596
4630
  onChange: import("@khanacademy/perseus").ChangeHandler;
4597
4631
  trackInteraction: (extraData?: Empty | undefined) => void;
4598
4632
  isLastUsedWidget: boolean;
@@ -4606,7 +4640,6 @@ declare const InteractiveGraph: {
4606
4640
  problemNum: number | null | undefined;
4607
4641
  apiOptions: Readonly<Readonly<{
4608
4642
  isArticle?: boolean | undefined;
4609
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4610
4643
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4611
4644
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4612
4645
  showAlignmentOptions?: boolean | undefined;
@@ -4654,6 +4687,9 @@ declare const InteractiveGraph: {
4654
4687
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4655
4688
  "locked-point-labels"?: boolean | undefined;
4656
4689
  "locked-line-labels"?: boolean | undefined;
4690
+ "locked-vector-labels"?: boolean | undefined;
4691
+ "locked-ellipse-labels"?: boolean | undefined;
4692
+ "locked-function-labels"?: boolean | undefined;
4657
4693
  }) | undefined;
4658
4694
  } | undefined;
4659
4695
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4669,7 +4705,6 @@ declare const InteractiveGraph: {
4669
4705
  isArticle: NonNullable<boolean | undefined>;
4670
4706
  isMobile: NonNullable<boolean | undefined>;
4671
4707
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4672
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4673
4708
  readOnly: NonNullable<boolean | undefined>;
4674
4709
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4675
4710
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4679,7 +4714,7 @@ declare const InteractiveGraph: {
4679
4714
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4680
4715
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4681
4716
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4682
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4717
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4683
4718
  onChange: import("@khanacademy/perseus").ChangeHandler;
4684
4719
  trackInteraction: (extraData?: Empty | undefined) => void;
4685
4720
  isLastUsedWidget: boolean;
@@ -4693,7 +4728,6 @@ declare const InteractiveGraph: {
4693
4728
  problemNum: number | null | undefined;
4694
4729
  apiOptions: Readonly<Readonly<{
4695
4730
  isArticle?: boolean | undefined;
4696
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4697
4731
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4698
4732
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4699
4733
  showAlignmentOptions?: boolean | undefined;
@@ -4741,6 +4775,9 @@ declare const InteractiveGraph: {
4741
4775
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4742
4776
  "locked-point-labels"?: boolean | undefined;
4743
4777
  "locked-line-labels"?: boolean | undefined;
4778
+ "locked-vector-labels"?: boolean | undefined;
4779
+ "locked-ellipse-labels"?: boolean | undefined;
4780
+ "locked-function-labels"?: boolean | undefined;
4744
4781
  }) | undefined;
4745
4782
  } | undefined;
4746
4783
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4756,7 +4793,6 @@ declare const InteractiveGraph: {
4756
4793
  isArticle: NonNullable<boolean | undefined>;
4757
4794
  isMobile: NonNullable<boolean | undefined>;
4758
4795
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4759
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4760
4796
  readOnly: NonNullable<boolean | undefined>;
4761
4797
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4762
4798
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4766,7 +4802,7 @@ declare const InteractiveGraph: {
4766
4802
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4767
4803
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4768
4804
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4769
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4805
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4770
4806
  onChange: import("@khanacademy/perseus").ChangeHandler;
4771
4807
  trackInteraction: (extraData?: Empty | undefined) => void;
4772
4808
  isLastUsedWidget: boolean;
@@ -4780,7 +4816,6 @@ declare const InteractiveGraph: {
4780
4816
  problemNum: number | null | undefined;
4781
4817
  apiOptions: Readonly<Readonly<{
4782
4818
  isArticle?: boolean | undefined;
4783
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4784
4819
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4785
4820
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4786
4821
  showAlignmentOptions?: boolean | undefined;
@@ -4828,6 +4863,9 @@ declare const InteractiveGraph: {
4828
4863
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4829
4864
  "locked-point-labels"?: boolean | undefined;
4830
4865
  "locked-line-labels"?: boolean | undefined;
4866
+ "locked-vector-labels"?: boolean | undefined;
4867
+ "locked-ellipse-labels"?: boolean | undefined;
4868
+ "locked-function-labels"?: boolean | undefined;
4831
4869
  }) | undefined;
4832
4870
  } | undefined;
4833
4871
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4843,7 +4881,6 @@ declare const InteractiveGraph: {
4843
4881
  isArticle: NonNullable<boolean | undefined>;
4844
4882
  isMobile: NonNullable<boolean | undefined>;
4845
4883
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4846
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4847
4884
  readOnly: NonNullable<boolean | undefined>;
4848
4885
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4849
4886
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4853,7 +4890,7 @@ declare const InteractiveGraph: {
4853
4890
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4854
4891
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4855
4892
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4856
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4893
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4857
4894
  onChange: import("@khanacademy/perseus").ChangeHandler;
4858
4895
  trackInteraction: (extraData?: Empty | undefined) => void;
4859
4896
  isLastUsedWidget: boolean;
@@ -4867,7 +4904,6 @@ declare const InteractiveGraph: {
4867
4904
  problemNum: number | null | undefined;
4868
4905
  apiOptions: Readonly<Readonly<{
4869
4906
  isArticle?: boolean | undefined;
4870
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4871
4907
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4872
4908
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4873
4909
  showAlignmentOptions?: boolean | undefined;
@@ -4915,6 +4951,9 @@ declare const InteractiveGraph: {
4915
4951
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4916
4952
  "locked-point-labels"?: boolean | undefined;
4917
4953
  "locked-line-labels"?: boolean | undefined;
4954
+ "locked-vector-labels"?: boolean | undefined;
4955
+ "locked-ellipse-labels"?: boolean | undefined;
4956
+ "locked-function-labels"?: boolean | undefined;
4918
4957
  }) | undefined;
4919
4958
  } | undefined;
4920
4959
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4930,7 +4969,6 @@ declare const InteractiveGraph: {
4930
4969
  isArticle: NonNullable<boolean | undefined>;
4931
4970
  isMobile: NonNullable<boolean | undefined>;
4932
4971
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4933
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4934
4972
  readOnly: NonNullable<boolean | undefined>;
4935
4973
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4936
4974
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4940,7 +4978,7 @@ declare const InteractiveGraph: {
4940
4978
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4941
4979
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4942
4980
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4943
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4981
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4944
4982
  onChange: import("@khanacademy/perseus").ChangeHandler;
4945
4983
  trackInteraction: (extraData?: Empty | undefined) => void;
4946
4984
  isLastUsedWidget: boolean;
@@ -4954,7 +4992,6 @@ declare const InteractiveGraph: {
4954
4992
  problemNum: number | null | undefined;
4955
4993
  apiOptions: Readonly<Readonly<{
4956
4994
  isArticle?: boolean | undefined;
4957
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4958
4995
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4959
4996
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4960
4997
  showAlignmentOptions?: boolean | undefined;
@@ -5002,6 +5039,9 @@ declare const InteractiveGraph: {
5002
5039
  "interactive-graph-locked-features-labels"?: boolean | undefined;
5003
5040
  "locked-point-labels"?: boolean | undefined;
5004
5041
  "locked-line-labels"?: boolean | undefined;
5042
+ "locked-vector-labels"?: boolean | undefined;
5043
+ "locked-ellipse-labels"?: boolean | undefined;
5044
+ "locked-function-labels"?: boolean | undefined;
5005
5045
  }) | undefined;
5006
5046
  } | undefined;
5007
5047
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -5017,7 +5057,6 @@ declare const InteractiveGraph: {
5017
5057
  isArticle: NonNullable<boolean | undefined>;
5018
5058
  isMobile: NonNullable<boolean | undefined>;
5019
5059
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
5020
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
5021
5060
  readOnly: NonNullable<boolean | undefined>;
5022
5061
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
5023
5062
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -5027,7 +5066,7 @@ declare const InteractiveGraph: {
5027
5066
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5028
5067
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5029
5068
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
5030
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
5069
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
5031
5070
  onChange: import("@khanacademy/perseus").ChangeHandler;
5032
5071
  trackInteraction: (extraData?: Empty | undefined) => void;
5033
5072
  isLastUsedWidget: boolean;
@@ -5041,7 +5080,6 @@ declare const InteractiveGraph: {
5041
5080
  problemNum: number | null | undefined;
5042
5081
  apiOptions: Readonly<Readonly<{
5043
5082
  isArticle?: boolean | undefined;
5044
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
5045
5083
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
5046
5084
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
5047
5085
  showAlignmentOptions?: boolean | undefined;
@@ -5089,6 +5127,9 @@ declare const InteractiveGraph: {
5089
5127
  "interactive-graph-locked-features-labels"?: boolean | undefined;
5090
5128
  "locked-point-labels"?: boolean | undefined;
5091
5129
  "locked-line-labels"?: boolean | undefined;
5130
+ "locked-vector-labels"?: boolean | undefined;
5131
+ "locked-ellipse-labels"?: boolean | undefined;
5132
+ "locked-function-labels"?: boolean | undefined;
5092
5133
  }) | undefined;
5093
5134
  } | undefined;
5094
5135
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -5104,7 +5145,6 @@ declare const InteractiveGraph: {
5104
5145
  isArticle: NonNullable<boolean | undefined>;
5105
5146
  isMobile: NonNullable<boolean | undefined>;
5106
5147
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
5107
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
5108
5148
  readOnly: NonNullable<boolean | undefined>;
5109
5149
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
5110
5150
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -5114,7 +5154,7 @@ declare const InteractiveGraph: {
5114
5154
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5115
5155
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5116
5156
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
5117
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
5157
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
5118
5158
  onChange: import("@khanacademy/perseus").ChangeHandler;
5119
5159
  trackInteraction: (extraData?: Empty | undefined) => void;
5120
5160
  isLastUsedWidget: boolean;
@@ -5128,7 +5168,6 @@ declare const InteractiveGraph: {
5128
5168
  problemNum: number | null | undefined;
5129
5169
  apiOptions: Readonly<Readonly<{
5130
5170
  isArticle?: boolean | undefined;
5131
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
5132
5171
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
5133
5172
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
5134
5173
  showAlignmentOptions?: boolean | undefined;
@@ -5176,6 +5215,9 @@ declare const InteractiveGraph: {
5176
5215
  "interactive-graph-locked-features-labels"?: boolean | undefined;
5177
5216
  "locked-point-labels"?: boolean | undefined;
5178
5217
  "locked-line-labels"?: boolean | undefined;
5218
+ "locked-vector-labels"?: boolean | undefined;
5219
+ "locked-ellipse-labels"?: boolean | undefined;
5220
+ "locked-function-labels"?: boolean | undefined;
5179
5221
  }) | undefined;
5180
5222
  } | undefined;
5181
5223
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -5191,7 +5233,6 @@ declare const InteractiveGraph: {
5191
5233
  isArticle: NonNullable<boolean | undefined>;
5192
5234
  isMobile: NonNullable<boolean | undefined>;
5193
5235
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
5194
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
5195
5236
  readOnly: NonNullable<boolean | undefined>;
5196
5237
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
5197
5238
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -5201,7 +5242,7 @@ declare const InteractiveGraph: {
5201
5242
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5202
5243
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5203
5244
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
5204
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
5245
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
5205
5246
  onChange: import("@khanacademy/perseus").ChangeHandler;
5206
5247
  trackInteraction: (extraData?: Empty | undefined) => void;
5207
5248
  isLastUsedWidget: boolean;
@@ -5215,7 +5256,6 @@ declare const InteractiveGraph: {
5215
5256
  problemNum: number | null | undefined;
5216
5257
  apiOptions: Readonly<Readonly<{
5217
5258
  isArticle?: boolean | undefined;
5218
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
5219
5259
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
5220
5260
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
5221
5261
  showAlignmentOptions?: boolean | undefined;
@@ -5263,6 +5303,9 @@ declare const InteractiveGraph: {
5263
5303
  "interactive-graph-locked-features-labels"?: boolean | undefined;
5264
5304
  "locked-point-labels"?: boolean | undefined;
5265
5305
  "locked-line-labels"?: boolean | undefined;
5306
+ "locked-vector-labels"?: boolean | undefined;
5307
+ "locked-ellipse-labels"?: boolean | undefined;
5308
+ "locked-function-labels"?: boolean | undefined;
5266
5309
  }) | undefined;
5267
5310
  } | undefined;
5268
5311
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -5278,7 +5321,6 @@ declare const InteractiveGraph: {
5278
5321
  isArticle: NonNullable<boolean | undefined>;
5279
5322
  isMobile: NonNullable<boolean | undefined>;
5280
5323
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
5281
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
5282
5324
  readOnly: NonNullable<boolean | undefined>;
5283
5325
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
5284
5326
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -5288,7 +5330,7 @@ declare const InteractiveGraph: {
5288
5330
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5289
5331
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5290
5332
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
5291
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
5333
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
5292
5334
  onChange: import("@khanacademy/perseus").ChangeHandler;
5293
5335
  trackInteraction: (extraData?: Empty | undefined) => void;
5294
5336
  isLastUsedWidget: boolean;
@@ -5302,7 +5344,6 @@ declare const InteractiveGraph: {
5302
5344
  problemNum: number | null | undefined;
5303
5345
  apiOptions: Readonly<Readonly<{
5304
5346
  isArticle?: boolean | undefined;
5305
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
5306
5347
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
5307
5348
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
5308
5349
  showAlignmentOptions?: boolean | undefined;
@@ -5350,6 +5391,9 @@ declare const InteractiveGraph: {
5350
5391
  "interactive-graph-locked-features-labels"?: boolean | undefined;
5351
5392
  "locked-point-labels"?: boolean | undefined;
5352
5393
  "locked-line-labels"?: boolean | undefined;
5394
+ "locked-vector-labels"?: boolean | undefined;
5395
+ "locked-ellipse-labels"?: boolean | undefined;
5396
+ "locked-function-labels"?: boolean | undefined;
5353
5397
  }) | undefined;
5354
5398
  } | undefined;
5355
5399
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -5365,7 +5409,6 @@ declare const InteractiveGraph: {
5365
5409
  isArticle: NonNullable<boolean | undefined>;
5366
5410
  isMobile: NonNullable<boolean | undefined>;
5367
5411
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
5368
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
5369
5412
  readOnly: NonNullable<boolean | undefined>;
5370
5413
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
5371
5414
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -5375,7 +5418,7 @@ declare const InteractiveGraph: {
5375
5418
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5376
5419
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5377
5420
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
5378
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
5421
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
5379
5422
  onChange: import("@khanacademy/perseus").ChangeHandler;
5380
5423
  trackInteraction: (extraData?: Empty | undefined) => void;
5381
5424
  isLastUsedWidget: boolean;
@@ -5389,7 +5432,6 @@ declare const InteractiveGraph: {
5389
5432
  problemNum: number | null | undefined;
5390
5433
  apiOptions: Readonly<Readonly<{
5391
5434
  isArticle?: boolean | undefined;
5392
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
5393
5435
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
5394
5436
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
5395
5437
  showAlignmentOptions?: boolean | undefined;
@@ -5437,6 +5479,9 @@ declare const InteractiveGraph: {
5437
5479
  "interactive-graph-locked-features-labels"?: boolean | undefined;
5438
5480
  "locked-point-labels"?: boolean | undefined;
5439
5481
  "locked-line-labels"?: boolean | undefined;
5482
+ "locked-vector-labels"?: boolean | undefined;
5483
+ "locked-ellipse-labels"?: boolean | undefined;
5484
+ "locked-function-labels"?: boolean | undefined;
5440
5485
  }) | undefined;
5441
5486
  } | undefined;
5442
5487
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -5452,7 +5497,6 @@ declare const InteractiveGraph: {
5452
5497
  isArticle: NonNullable<boolean | undefined>;
5453
5498
  isMobile: NonNullable<boolean | undefined>;
5454
5499
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
5455
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
5456
5500
  readOnly: NonNullable<boolean | undefined>;
5457
5501
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
5458
5502
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -5462,14 +5506,14 @@ declare const InteractiveGraph: {
5462
5506
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5463
5507
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5464
5508
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
5465
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
5509
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
5466
5510
  onChange: import("@khanacademy/perseus").ChangeHandler;
5467
5511
  trackInteraction: (extraData?: Empty | undefined) => void;
5468
5512
  isLastUsedWidget: boolean;
5469
5513
  linterContext: import("@khanacademy/perseus-linter").LinterContextProps;
5470
5514
  containerSizeClass: SizingUtils.SizeClass;
5471
5515
  }): string;
5472
- validate(userInput: PerseusGraphType, rubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric, component: any): import("@khanacademy/perseus").PerseusScore;
5516
+ validate(userInput: PerseusGraphType, rubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric, component: any): import("@khanacademy/perseus").PerseusScore;
5473
5517
  getUserInputFromProps(props: PerseusInteractiveGraphWidgetOptions & {
5474
5518
  widgetId: string;
5475
5519
  alignment: string | null | undefined;
@@ -5477,7 +5521,6 @@ declare const InteractiveGraph: {
5477
5521
  problemNum: number | null | undefined;
5478
5522
  apiOptions: Readonly<Readonly<{
5479
5523
  isArticle?: boolean | undefined;
5480
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
5481
5524
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
5482
5525
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
5483
5526
  showAlignmentOptions?: boolean | undefined;
@@ -5525,6 +5568,9 @@ declare const InteractiveGraph: {
5525
5568
  "interactive-graph-locked-features-labels"?: boolean | undefined;
5526
5569
  "locked-point-labels"?: boolean | undefined;
5527
5570
  "locked-line-labels"?: boolean | undefined;
5571
+ "locked-vector-labels"?: boolean | undefined;
5572
+ "locked-ellipse-labels"?: boolean | undefined;
5573
+ "locked-function-labels"?: boolean | undefined;
5528
5574
  }) | undefined;
5529
5575
  } | undefined;
5530
5576
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -5540,7 +5586,6 @@ declare const InteractiveGraph: {
5540
5586
  isArticle: NonNullable<boolean | undefined>;
5541
5587
  isMobile: NonNullable<boolean | undefined>;
5542
5588
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
5543
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
5544
5589
  readOnly: NonNullable<boolean | undefined>;
5545
5590
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
5546
5591
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -5550,7 +5595,7 @@ declare const InteractiveGraph: {
5550
5595
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5551
5596
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5552
5597
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
5553
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
5598
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
5554
5599
  onChange: import("@khanacademy/perseus").ChangeHandler;
5555
5600
  trackInteraction: (extraData?: Empty | undefined) => void;
5556
5601
  isLastUsedWidget: boolean;