@khanacademy/perseus-editor 14.3.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;
@@ -57,6 +56,10 @@ declare const InteractiveGraph: {
57
56
  } & {
58
57
  "interactive-graph-locked-features-labels"?: boolean | undefined;
59
58
  "locked-point-labels"?: boolean | undefined;
59
+ "locked-line-labels"?: boolean | undefined;
60
+ "locked-vector-labels"?: boolean | undefined;
61
+ "locked-ellipse-labels"?: boolean | undefined;
62
+ "locked-function-labels"?: boolean | undefined;
60
63
  }) | undefined;
61
64
  } | undefined;
62
65
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -72,7 +75,6 @@ declare const InteractiveGraph: {
72
75
  isArticle: NonNullable<boolean | undefined>;
73
76
  isMobile: NonNullable<boolean | undefined>;
74
77
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
75
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
76
78
  readOnly: NonNullable<boolean | undefined>;
77
79
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
78
80
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -82,7 +84,7 @@ declare const InteractiveGraph: {
82
84
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
83
85
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
84
86
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
85
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
87
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
86
88
  onChange: import("@khanacademy/perseus").ChangeHandler;
87
89
  trackInteraction: (extraData?: Empty | undefined) => void;
88
90
  isLastUsedWidget: boolean;
@@ -119,7 +121,6 @@ declare const InteractiveGraph: {
119
121
  problemNum: number | null | undefined;
120
122
  apiOptions: Readonly<Readonly<{
121
123
  isArticle?: boolean | undefined;
122
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
123
124
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
124
125
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
125
126
  showAlignmentOptions?: boolean | undefined;
@@ -166,6 +167,10 @@ declare const InteractiveGraph: {
166
167
  } & {
167
168
  "interactive-graph-locked-features-labels"?: boolean | undefined;
168
169
  "locked-point-labels"?: boolean | undefined;
170
+ "locked-line-labels"?: boolean | undefined;
171
+ "locked-vector-labels"?: boolean | undefined;
172
+ "locked-ellipse-labels"?: boolean | undefined;
173
+ "locked-function-labels"?: boolean | undefined;
169
174
  }) | undefined;
170
175
  } | undefined;
171
176
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -181,7 +186,6 @@ declare const InteractiveGraph: {
181
186
  isArticle: NonNullable<boolean | undefined>;
182
187
  isMobile: NonNullable<boolean | undefined>;
183
188
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
184
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
185
189
  readOnly: NonNullable<boolean | undefined>;
186
190
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
187
191
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -191,7 +195,7 @@ declare const InteractiveGraph: {
191
195
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
192
196
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
193
197
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
194
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
198
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
195
199
  onChange: import("@khanacademy/perseus").ChangeHandler;
196
200
  trackInteraction: (extraData?: Empty | undefined) => void;
197
201
  isLastUsedWidget: boolean;
@@ -205,7 +209,6 @@ declare const InteractiveGraph: {
205
209
  problemNum: number | null | undefined;
206
210
  apiOptions: Readonly<Readonly<{
207
211
  isArticle?: boolean | undefined;
208
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
209
212
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
210
213
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
211
214
  showAlignmentOptions?: boolean | undefined;
@@ -252,6 +255,10 @@ declare const InteractiveGraph: {
252
255
  } & {
253
256
  "interactive-graph-locked-features-labels"?: boolean | undefined;
254
257
  "locked-point-labels"?: boolean | undefined;
258
+ "locked-line-labels"?: boolean | undefined;
259
+ "locked-vector-labels"?: boolean | undefined;
260
+ "locked-ellipse-labels"?: boolean | undefined;
261
+ "locked-function-labels"?: boolean | undefined;
255
262
  }) | undefined;
256
263
  } | undefined;
257
264
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -267,7 +274,6 @@ declare const InteractiveGraph: {
267
274
  isArticle: NonNullable<boolean | undefined>;
268
275
  isMobile: NonNullable<boolean | undefined>;
269
276
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
270
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
271
277
  readOnly: NonNullable<boolean | undefined>;
272
278
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
273
279
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -277,7 +283,7 @@ declare const InteractiveGraph: {
277
283
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
278
284
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
279
285
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
280
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
286
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
281
287
  onChange: import("@khanacademy/perseus").ChangeHandler;
282
288
  trackInteraction: (extraData?: Empty | undefined) => void;
283
289
  isLastUsedWidget: boolean;
@@ -291,7 +297,6 @@ declare const InteractiveGraph: {
291
297
  problemNum: number | null | undefined;
292
298
  apiOptions: Readonly<Readonly<{
293
299
  isArticle?: boolean | undefined;
294
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
295
300
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
296
301
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
297
302
  showAlignmentOptions?: boolean | undefined;
@@ -338,6 +343,10 @@ declare const InteractiveGraph: {
338
343
  } & {
339
344
  "interactive-graph-locked-features-labels"?: boolean | undefined;
340
345
  "locked-point-labels"?: boolean | undefined;
346
+ "locked-line-labels"?: boolean | undefined;
347
+ "locked-vector-labels"?: boolean | undefined;
348
+ "locked-ellipse-labels"?: boolean | undefined;
349
+ "locked-function-labels"?: boolean | undefined;
341
350
  }) | undefined;
342
351
  } | undefined;
343
352
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -353,7 +362,6 @@ declare const InteractiveGraph: {
353
362
  isArticle: NonNullable<boolean | undefined>;
354
363
  isMobile: NonNullable<boolean | undefined>;
355
364
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
356
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
357
365
  readOnly: NonNullable<boolean | undefined>;
358
366
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
359
367
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -363,7 +371,7 @@ declare const InteractiveGraph: {
363
371
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
364
372
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
365
373
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
366
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
374
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
367
375
  onChange: import("@khanacademy/perseus").ChangeHandler;
368
376
  trackInteraction: (extraData?: Empty | undefined) => void;
369
377
  isLastUsedWidget: boolean;
@@ -384,7 +392,6 @@ declare const InteractiveGraph: {
384
392
  problemNum: number | null | undefined;
385
393
  apiOptions: Readonly<Readonly<{
386
394
  isArticle?: boolean | undefined;
387
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
388
395
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
389
396
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
390
397
  showAlignmentOptions?: boolean | undefined;
@@ -431,6 +438,10 @@ declare const InteractiveGraph: {
431
438
  } & {
432
439
  "interactive-graph-locked-features-labels"?: boolean | undefined;
433
440
  "locked-point-labels"?: boolean | undefined;
441
+ "locked-line-labels"?: boolean | undefined;
442
+ "locked-vector-labels"?: boolean | undefined;
443
+ "locked-ellipse-labels"?: boolean | undefined;
444
+ "locked-function-labels"?: boolean | undefined;
434
445
  }) | undefined;
435
446
  } | undefined;
436
447
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -446,7 +457,6 @@ declare const InteractiveGraph: {
446
457
  isArticle: NonNullable<boolean | undefined>;
447
458
  isMobile: NonNullable<boolean | undefined>;
448
459
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
449
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
450
460
  readOnly: NonNullable<boolean | undefined>;
451
461
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
452
462
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -456,26 +466,21 @@ declare const InteractiveGraph: {
456
466
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
457
467
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
458
468
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
459
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
469
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
460
470
  onChange: import("@khanacademy/perseus").ChangeHandler;
461
471
  trackInteraction: (extraData?: Empty | undefined) => void;
462
472
  isLastUsedWidget: boolean;
463
473
  linterContext: import("@khanacademy/perseus-linter").LinterContextProps;
464
474
  containerSizeClass: SizingUtils.SizeClass;
465
- }) | null | undefined) => boolean; /**
466
- * The range of the graph in the x and y directions.
467
- */
475
+ }) | null | undefined) => boolean;
468
476
  areAngleGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeAngle, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeAngle): boolean;
469
- /**
470
- * How far apart the tick marks on the axes are in the x and y
471
- * directions.
472
- */
473
477
  arePointGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePoint, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePoint): boolean;
474
478
  arePolygonGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePolygon, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePolygon): boolean;
475
479
  areSegmentGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeSegment, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeSegment): boolean;
476
480
  _lineStroke: () => {
477
481
  "stroke-width"?: number | undefined; /**
478
- * 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.
479
484
  */
480
485
  };
481
486
  addLine: (arg1: string) => void;
@@ -487,16 +492,13 @@ declare const InteractiveGraph: {
487
492
  addQuadraticControls: () => void;
488
493
  updateQuadratic: () => void;
489
494
  removeQuadraticControls: () => void;
490
- addSinusoidControls: () => void; /**
491
- * The type of markings to display on the graph.
492
- * - graph: shows the axes and the grid lines
493
- * - grid: shows only the grid lines
494
- * - none: shows no markings
495
- */
495
+ addSinusoidControls: () => void;
496
496
  updateSinusoid: () => void;
497
497
  removeSinusoidControls: () => void;
498
498
  addCircleControls: () => void;
499
- removeCircleControls: () => void;
499
+ removeCircleControls: () => void; /**
500
+ * Whether to show the protractor on the graph.
501
+ */
500
502
  addLinearSystemControls: () => void;
501
503
  removeLinearSystemControls: () => void;
502
504
  isCoordInTrash: (arg1: import("@khanacademy/perseus").Coord) => boolean;
@@ -519,7 +521,7 @@ declare const InteractiveGraph: {
519
521
  removeAngleControls: () => void;
520
522
  toggleShowSides: () => void;
521
523
  getUserInput(): PerseusGraphType;
522
- 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;
523
525
  focus: () => void;
524
526
  render(): React.ReactNode;
525
527
  setState<K extends string | number | symbol>(state: any, callback?: (() => void) | undefined): void;
@@ -531,7 +533,6 @@ declare const InteractiveGraph: {
531
533
  problemNum: number | null | undefined;
532
534
  apiOptions: Readonly<Readonly<{
533
535
  isArticle?: boolean | undefined;
534
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
535
536
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
536
537
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
537
538
  showAlignmentOptions?: boolean | undefined;
@@ -578,6 +579,10 @@ declare const InteractiveGraph: {
578
579
  } & {
579
580
  "interactive-graph-locked-features-labels"?: boolean | undefined;
580
581
  "locked-point-labels"?: boolean | undefined;
582
+ "locked-line-labels"?: boolean | undefined;
583
+ "locked-vector-labels"?: boolean | undefined;
584
+ "locked-ellipse-labels"?: boolean | undefined;
585
+ "locked-function-labels"?: boolean | undefined;
581
586
  }) | undefined;
582
587
  } | undefined;
583
588
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -593,7 +598,6 @@ declare const InteractiveGraph: {
593
598
  isArticle: NonNullable<boolean | undefined>;
594
599
  isMobile: NonNullable<boolean | undefined>;
595
600
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
596
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
597
601
  readOnly: NonNullable<boolean | undefined>;
598
602
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
599
603
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -603,7 +607,7 @@ declare const InteractiveGraph: {
603
607
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
604
608
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
605
609
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
606
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
610
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
607
611
  onChange: import("@khanacademy/perseus").ChangeHandler;
608
612
  trackInteraction: (extraData?: Empty | undefined) => void;
609
613
  isLastUsedWidget: boolean;
@@ -620,7 +624,6 @@ declare const InteractiveGraph: {
620
624
  problemNum: number | null | undefined;
621
625
  apiOptions: Readonly<Readonly<{
622
626
  isArticle?: boolean | undefined;
623
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
624
627
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
625
628
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
626
629
  showAlignmentOptions?: boolean | undefined;
@@ -667,6 +670,10 @@ declare const InteractiveGraph: {
667
670
  } & {
668
671
  "interactive-graph-locked-features-labels"?: boolean | undefined;
669
672
  "locked-point-labels"?: boolean | undefined;
673
+ "locked-line-labels"?: boolean | undefined;
674
+ "locked-vector-labels"?: boolean | undefined;
675
+ "locked-ellipse-labels"?: boolean | undefined;
676
+ "locked-function-labels"?: boolean | undefined;
670
677
  }) | undefined;
671
678
  } | undefined;
672
679
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -682,7 +689,6 @@ declare const InteractiveGraph: {
682
689
  isArticle: NonNullable<boolean | undefined>;
683
690
  isMobile: NonNullable<boolean | undefined>;
684
691
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
685
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
686
692
  readOnly: NonNullable<boolean | undefined>;
687
693
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
688
694
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -692,7 +698,7 @@ declare const InteractiveGraph: {
692
698
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
693
699
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
694
700
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
695
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
701
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
696
702
  onChange: import("@khanacademy/perseus").ChangeHandler;
697
703
  trackInteraction: (extraData?: Empty | undefined) => void;
698
704
  isLastUsedWidget: boolean;
@@ -708,7 +714,6 @@ declare const InteractiveGraph: {
708
714
  problemNum: number | null | undefined;
709
715
  apiOptions: Readonly<Readonly<{
710
716
  isArticle?: boolean | undefined;
711
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
712
717
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
713
718
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
714
719
  showAlignmentOptions?: boolean | undefined;
@@ -755,6 +760,10 @@ declare const InteractiveGraph: {
755
760
  } & {
756
761
  "interactive-graph-locked-features-labels"?: boolean | undefined;
757
762
  "locked-point-labels"?: boolean | undefined;
763
+ "locked-line-labels"?: boolean | undefined;
764
+ "locked-vector-labels"?: boolean | undefined;
765
+ "locked-ellipse-labels"?: boolean | undefined;
766
+ "locked-function-labels"?: boolean | undefined;
758
767
  }) | undefined;
759
768
  } | undefined;
760
769
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -770,7 +779,6 @@ declare const InteractiveGraph: {
770
779
  isArticle: NonNullable<boolean | undefined>;
771
780
  isMobile: NonNullable<boolean | undefined>;
772
781
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
773
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
774
782
  readOnly: NonNullable<boolean | undefined>;
775
783
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
776
784
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -780,7 +788,7 @@ declare const InteractiveGraph: {
780
788
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
781
789
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
782
790
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
783
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
791
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
784
792
  onChange: import("@khanacademy/perseus").ChangeHandler;
785
793
  trackInteraction: (extraData?: Empty | undefined) => void;
786
794
  isLastUsedWidget: boolean;
@@ -796,7 +804,6 @@ declare const InteractiveGraph: {
796
804
  problemNum: number | null | undefined;
797
805
  apiOptions: Readonly<Readonly<{
798
806
  isArticle?: boolean | undefined;
799
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
800
807
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
801
808
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
802
809
  showAlignmentOptions?: boolean | undefined;
@@ -843,6 +850,10 @@ declare const InteractiveGraph: {
843
850
  } & {
844
851
  "interactive-graph-locked-features-labels"?: boolean | undefined;
845
852
  "locked-point-labels"?: boolean | undefined;
853
+ "locked-line-labels"?: boolean | undefined;
854
+ "locked-vector-labels"?: boolean | undefined;
855
+ "locked-ellipse-labels"?: boolean | undefined;
856
+ "locked-function-labels"?: boolean | undefined;
846
857
  }) | undefined;
847
858
  } | undefined;
848
859
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -858,7 +869,6 @@ declare const InteractiveGraph: {
858
869
  isArticle: NonNullable<boolean | undefined>;
859
870
  isMobile: NonNullable<boolean | undefined>;
860
871
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
861
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
862
872
  readOnly: NonNullable<boolean | undefined>;
863
873
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
864
874
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -868,7 +878,7 @@ declare const InteractiveGraph: {
868
878
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
869
879
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
870
880
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
871
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
881
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
872
882
  onChange: import("@khanacademy/perseus").ChangeHandler;
873
883
  trackInteraction: (extraData?: Empty | undefined) => void;
874
884
  isLastUsedWidget: boolean;
@@ -882,7 +892,6 @@ declare const InteractiveGraph: {
882
892
  problemNum: number | null | undefined;
883
893
  apiOptions: Readonly<Readonly<{
884
894
  isArticle?: boolean | undefined;
885
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
886
895
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
887
896
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
888
897
  showAlignmentOptions?: boolean | undefined;
@@ -929,6 +938,10 @@ declare const InteractiveGraph: {
929
938
  } & {
930
939
  "interactive-graph-locked-features-labels"?: boolean | undefined;
931
940
  "locked-point-labels"?: boolean | undefined;
941
+ "locked-line-labels"?: boolean | undefined;
942
+ "locked-vector-labels"?: boolean | undefined;
943
+ "locked-ellipse-labels"?: boolean | undefined;
944
+ "locked-function-labels"?: boolean | undefined;
932
945
  }) | undefined;
933
946
  } | undefined;
934
947
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -944,7 +957,6 @@ declare const InteractiveGraph: {
944
957
  isArticle: NonNullable<boolean | undefined>;
945
958
  isMobile: NonNullable<boolean | undefined>;
946
959
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
947
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
948
960
  readOnly: NonNullable<boolean | undefined>;
949
961
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
950
962
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -954,7 +966,7 @@ declare const InteractiveGraph: {
954
966
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
955
967
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
956
968
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
957
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
969
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
958
970
  onChange: import("@khanacademy/perseus").ChangeHandler;
959
971
  trackInteraction: (extraData?: Empty | undefined) => void;
960
972
  isLastUsedWidget: boolean;
@@ -968,7 +980,6 @@ declare const InteractiveGraph: {
968
980
  problemNum: number | null | undefined;
969
981
  apiOptions: Readonly<Readonly<{
970
982
  isArticle?: boolean | undefined;
971
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
972
983
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
973
984
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
974
985
  showAlignmentOptions?: boolean | undefined;
@@ -1015,6 +1026,10 @@ declare const InteractiveGraph: {
1015
1026
  } & {
1016
1027
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1017
1028
  "locked-point-labels"?: boolean | undefined;
1029
+ "locked-line-labels"?: boolean | undefined;
1030
+ "locked-vector-labels"?: boolean | undefined;
1031
+ "locked-ellipse-labels"?: boolean | undefined;
1032
+ "locked-function-labels"?: boolean | undefined;
1018
1033
  }) | undefined;
1019
1034
  } | undefined;
1020
1035
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1030,7 +1045,6 @@ declare const InteractiveGraph: {
1030
1045
  isArticle: NonNullable<boolean | undefined>;
1031
1046
  isMobile: NonNullable<boolean | undefined>;
1032
1047
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1033
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1034
1048
  readOnly: NonNullable<boolean | undefined>;
1035
1049
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1036
1050
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1040,7 +1054,7 @@ declare const InteractiveGraph: {
1040
1054
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1041
1055
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1042
1056
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1043
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1057
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1044
1058
  onChange: import("@khanacademy/perseus").ChangeHandler;
1045
1059
  trackInteraction: (extraData?: Empty | undefined) => void;
1046
1060
  isLastUsedWidget: boolean;
@@ -1048,9 +1062,9 @@ declare const InteractiveGraph: {
1048
1062
  containerSizeClass: SizingUtils.SizeClass;
1049
1063
  }>, nextState: Readonly<any>, nextContext: any): void;
1050
1064
  }>;
1051
- mafsRef: React.RefObject<import("../../../../perseus/src/renderer").Widget>;
1052
- getUserInput: (() => any) | undefined;
1053
- 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;
1054
1068
  render(): React.JSX.Element;
1055
1069
  context: unknown;
1056
1070
  setState<K_1 extends string | number | symbol>(state: any, callback?: (() => void) | undefined): void;
@@ -1062,7 +1076,6 @@ declare const InteractiveGraph: {
1062
1076
  problemNum: number | null | undefined;
1063
1077
  apiOptions: Readonly<Readonly<{
1064
1078
  isArticle?: boolean | undefined;
1065
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1066
1079
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1067
1080
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1068
1081
  showAlignmentOptions?: boolean | undefined;
@@ -1109,6 +1122,10 @@ declare const InteractiveGraph: {
1109
1122
  } & {
1110
1123
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1111
1124
  "locked-point-labels"?: boolean | undefined;
1125
+ "locked-line-labels"?: boolean | undefined;
1126
+ "locked-vector-labels"?: boolean | undefined;
1127
+ "locked-ellipse-labels"?: boolean | undefined;
1128
+ "locked-function-labels"?: boolean | undefined;
1112
1129
  }) | undefined;
1113
1130
  } | undefined;
1114
1131
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1124,7 +1141,6 @@ declare const InteractiveGraph: {
1124
1141
  isArticle: NonNullable<boolean | undefined>;
1125
1142
  isMobile: NonNullable<boolean | undefined>;
1126
1143
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1127
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1128
1144
  readOnly: NonNullable<boolean | undefined>;
1129
1145
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1130
1146
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1134,7 +1150,7 @@ declare const InteractiveGraph: {
1134
1150
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1135
1151
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1136
1152
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1137
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1153
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1138
1154
  onChange: import("@khanacademy/perseus").ChangeHandler;
1139
1155
  trackInteraction: (extraData?: Empty | undefined) => void;
1140
1156
  isLastUsedWidget: boolean;
@@ -1153,7 +1169,6 @@ declare const InteractiveGraph: {
1153
1169
  problemNum: number | null | undefined;
1154
1170
  apiOptions: Readonly<Readonly<{
1155
1171
  isArticle?: boolean | undefined;
1156
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1157
1172
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1158
1173
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1159
1174
  showAlignmentOptions?: boolean | undefined;
@@ -1200,6 +1215,10 @@ declare const InteractiveGraph: {
1200
1215
  } & {
1201
1216
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1202
1217
  "locked-point-labels"?: boolean | undefined;
1218
+ "locked-line-labels"?: boolean | undefined;
1219
+ "locked-vector-labels"?: boolean | undefined;
1220
+ "locked-ellipse-labels"?: boolean | undefined;
1221
+ "locked-function-labels"?: boolean | undefined;
1203
1222
  }) | undefined;
1204
1223
  } | undefined;
1205
1224
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1215,7 +1234,6 @@ declare const InteractiveGraph: {
1215
1234
  isArticle: NonNullable<boolean | undefined>;
1216
1235
  isMobile: NonNullable<boolean | undefined>;
1217
1236
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1218
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1219
1237
  readOnly: NonNullable<boolean | undefined>;
1220
1238
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1221
1239
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1225,7 +1243,7 @@ declare const InteractiveGraph: {
1225
1243
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1226
1244
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1227
1245
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1228
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1246
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1229
1247
  onChange: import("@khanacademy/perseus").ChangeHandler;
1230
1248
  trackInteraction: (extraData?: Empty | undefined) => void;
1231
1249
  isLastUsedWidget: boolean;
@@ -1241,7 +1259,6 @@ declare const InteractiveGraph: {
1241
1259
  problemNum: number | null | undefined;
1242
1260
  apiOptions: Readonly<Readonly<{
1243
1261
  isArticle?: boolean | undefined;
1244
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1245
1262
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1246
1263
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1247
1264
  showAlignmentOptions?: boolean | undefined;
@@ -1288,6 +1305,10 @@ declare const InteractiveGraph: {
1288
1305
  } & {
1289
1306
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1290
1307
  "locked-point-labels"?: boolean | undefined;
1308
+ "locked-line-labels"?: boolean | undefined;
1309
+ "locked-vector-labels"?: boolean | undefined;
1310
+ "locked-ellipse-labels"?: boolean | undefined;
1311
+ "locked-function-labels"?: boolean | undefined;
1291
1312
  }) | undefined;
1292
1313
  } | undefined;
1293
1314
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1303,7 +1324,6 @@ declare const InteractiveGraph: {
1303
1324
  isArticle: NonNullable<boolean | undefined>;
1304
1325
  isMobile: NonNullable<boolean | undefined>;
1305
1326
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1306
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1307
1327
  readOnly: NonNullable<boolean | undefined>;
1308
1328
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1309
1329
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1313,7 +1333,7 @@ declare const InteractiveGraph: {
1313
1333
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1314
1334
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1315
1335
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1316
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1336
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1317
1337
  onChange: import("@khanacademy/perseus").ChangeHandler;
1318
1338
  trackInteraction: (extraData?: Empty | undefined) => void;
1319
1339
  isLastUsedWidget: boolean;
@@ -1327,7 +1347,6 @@ declare const InteractiveGraph: {
1327
1347
  problemNum: number | null | undefined;
1328
1348
  apiOptions: Readonly<Readonly<{
1329
1349
  isArticle?: boolean | undefined;
1330
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1331
1350
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1332
1351
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1333
1352
  showAlignmentOptions?: boolean | undefined;
@@ -1374,6 +1393,10 @@ declare const InteractiveGraph: {
1374
1393
  } & {
1375
1394
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1376
1395
  "locked-point-labels"?: boolean | undefined;
1396
+ "locked-line-labels"?: boolean | undefined;
1397
+ "locked-vector-labels"?: boolean | undefined;
1398
+ "locked-ellipse-labels"?: boolean | undefined;
1399
+ "locked-function-labels"?: boolean | undefined;
1377
1400
  }) | undefined;
1378
1401
  } | undefined;
1379
1402
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1389,7 +1412,6 @@ declare const InteractiveGraph: {
1389
1412
  isArticle: NonNullable<boolean | undefined>;
1390
1413
  isMobile: NonNullable<boolean | undefined>;
1391
1414
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1392
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1393
1415
  readOnly: NonNullable<boolean | undefined>;
1394
1416
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1395
1417
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1399,7 +1421,7 @@ declare const InteractiveGraph: {
1399
1421
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1400
1422
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1401
1423
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1402
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1424
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1403
1425
  onChange: import("@khanacademy/perseus").ChangeHandler;
1404
1426
  trackInteraction: (extraData?: Empty | undefined) => void;
1405
1427
  isLastUsedWidget: boolean;
@@ -1415,7 +1437,6 @@ declare const InteractiveGraph: {
1415
1437
  problemNum: number | null | undefined;
1416
1438
  apiOptions: Readonly<Readonly<{
1417
1439
  isArticle?: boolean | undefined;
1418
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1419
1440
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1420
1441
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1421
1442
  showAlignmentOptions?: boolean | undefined;
@@ -1462,6 +1483,10 @@ declare const InteractiveGraph: {
1462
1483
  } & {
1463
1484
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1464
1485
  "locked-point-labels"?: boolean | undefined;
1486
+ "locked-line-labels"?: boolean | undefined;
1487
+ "locked-vector-labels"?: boolean | undefined;
1488
+ "locked-ellipse-labels"?: boolean | undefined;
1489
+ "locked-function-labels"?: boolean | undefined;
1465
1490
  }) | undefined;
1466
1491
  } | undefined;
1467
1492
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1477,7 +1502,6 @@ declare const InteractiveGraph: {
1477
1502
  isArticle: NonNullable<boolean | undefined>;
1478
1503
  isMobile: NonNullable<boolean | undefined>;
1479
1504
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1480
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1481
1505
  readOnly: NonNullable<boolean | undefined>;
1482
1506
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1483
1507
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1487,7 +1511,7 @@ declare const InteractiveGraph: {
1487
1511
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1488
1512
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1489
1513
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1490
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1514
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1491
1515
  onChange: import("@khanacademy/perseus").ChangeHandler;
1492
1516
  trackInteraction: (extraData?: Empty | undefined) => void;
1493
1517
  isLastUsedWidget: boolean;
@@ -1501,7 +1525,6 @@ declare const InteractiveGraph: {
1501
1525
  problemNum: number | null | undefined;
1502
1526
  apiOptions: Readonly<Readonly<{
1503
1527
  isArticle?: boolean | undefined;
1504
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1505
1528
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1506
1529
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1507
1530
  showAlignmentOptions?: boolean | undefined;
@@ -1548,6 +1571,10 @@ declare const InteractiveGraph: {
1548
1571
  } & {
1549
1572
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1550
1573
  "locked-point-labels"?: boolean | undefined;
1574
+ "locked-line-labels"?: boolean | undefined;
1575
+ "locked-vector-labels"?: boolean | undefined;
1576
+ "locked-ellipse-labels"?: boolean | undefined;
1577
+ "locked-function-labels"?: boolean | undefined;
1551
1578
  }) | undefined;
1552
1579
  } | undefined;
1553
1580
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1563,7 +1590,6 @@ declare const InteractiveGraph: {
1563
1590
  isArticle: NonNullable<boolean | undefined>;
1564
1591
  isMobile: NonNullable<boolean | undefined>;
1565
1592
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1566
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1567
1593
  readOnly: NonNullable<boolean | undefined>;
1568
1594
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1569
1595
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1573,7 +1599,7 @@ declare const InteractiveGraph: {
1573
1599
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1574
1600
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1575
1601
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1576
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1602
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1577
1603
  onChange: import("@khanacademy/perseus").ChangeHandler;
1578
1604
  trackInteraction: (extraData?: Empty | undefined) => void;
1579
1605
  isLastUsedWidget: boolean;
@@ -1587,7 +1613,6 @@ declare const InteractiveGraph: {
1587
1613
  problemNum: number | null | undefined;
1588
1614
  apiOptions: Readonly<Readonly<{
1589
1615
  isArticle?: boolean | undefined;
1590
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1591
1616
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1592
1617
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1593
1618
  showAlignmentOptions?: boolean | undefined;
@@ -1634,6 +1659,10 @@ declare const InteractiveGraph: {
1634
1659
  } & {
1635
1660
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1636
1661
  "locked-point-labels"?: boolean | undefined;
1662
+ "locked-line-labels"?: boolean | undefined;
1663
+ "locked-vector-labels"?: boolean | undefined;
1664
+ "locked-ellipse-labels"?: boolean | undefined;
1665
+ "locked-function-labels"?: boolean | undefined;
1637
1666
  }) | undefined;
1638
1667
  } | undefined;
1639
1668
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1649,7 +1678,6 @@ declare const InteractiveGraph: {
1649
1678
  isArticle: NonNullable<boolean | undefined>;
1650
1679
  isMobile: NonNullable<boolean | undefined>;
1651
1680
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1652
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1653
1681
  readOnly: NonNullable<boolean | undefined>;
1654
1682
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1655
1683
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1659,7 +1687,7 @@ declare const InteractiveGraph: {
1659
1687
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1660
1688
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1661
1689
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1662
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1690
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1663
1691
  onChange: import("@khanacademy/perseus").ChangeHandler;
1664
1692
  trackInteraction: (extraData?: Empty | undefined) => void;
1665
1693
  isLastUsedWidget: boolean;
@@ -1673,7 +1701,6 @@ declare const InteractiveGraph: {
1673
1701
  problemNum: number | null | undefined;
1674
1702
  apiOptions: Readonly<Readonly<{
1675
1703
  isArticle?: boolean | undefined;
1676
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1677
1704
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1678
1705
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1679
1706
  showAlignmentOptions?: boolean | undefined;
@@ -1720,6 +1747,10 @@ declare const InteractiveGraph: {
1720
1747
  } & {
1721
1748
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1722
1749
  "locked-point-labels"?: boolean | undefined;
1750
+ "locked-line-labels"?: boolean | undefined;
1751
+ "locked-vector-labels"?: boolean | undefined;
1752
+ "locked-ellipse-labels"?: boolean | undefined;
1753
+ "locked-function-labels"?: boolean | undefined;
1723
1754
  }) | undefined;
1724
1755
  } | undefined;
1725
1756
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1735,7 +1766,6 @@ declare const InteractiveGraph: {
1735
1766
  isArticle: NonNullable<boolean | undefined>;
1736
1767
  isMobile: NonNullable<boolean | undefined>;
1737
1768
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1738
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1739
1769
  readOnly: NonNullable<boolean | undefined>;
1740
1770
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1741
1771
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1745,7 +1775,7 @@ declare const InteractiveGraph: {
1745
1775
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1746
1776
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1747
1777
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1748
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1778
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1749
1779
  onChange: import("@khanacademy/perseus").ChangeHandler;
1750
1780
  trackInteraction: (extraData?: Empty | undefined) => void;
1751
1781
  isLastUsedWidget: boolean;
@@ -1760,7 +1790,6 @@ declare const InteractiveGraph: {
1760
1790
  problemNum: number | null | undefined;
1761
1791
  apiOptions: Readonly<Readonly<{
1762
1792
  isArticle?: boolean | undefined;
1763
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1764
1793
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1765
1794
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1766
1795
  showAlignmentOptions?: boolean | undefined;
@@ -1807,6 +1836,10 @@ declare const InteractiveGraph: {
1807
1836
  } & {
1808
1837
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1809
1838
  "locked-point-labels"?: boolean | undefined;
1839
+ "locked-line-labels"?: boolean | undefined;
1840
+ "locked-vector-labels"?: boolean | undefined;
1841
+ "locked-ellipse-labels"?: boolean | undefined;
1842
+ "locked-function-labels"?: boolean | undefined;
1810
1843
  }) | undefined;
1811
1844
  } | undefined;
1812
1845
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1822,7 +1855,6 @@ declare const InteractiveGraph: {
1822
1855
  isArticle: NonNullable<boolean | undefined>;
1823
1856
  isMobile: NonNullable<boolean | undefined>;
1824
1857
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1825
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1826
1858
  readOnly: NonNullable<boolean | undefined>;
1827
1859
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1828
1860
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1832,7 +1864,7 @@ declare const InteractiveGraph: {
1832
1864
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1833
1865
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1834
1866
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1835
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1867
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1836
1868
  onChange: import("@khanacademy/perseus").ChangeHandler;
1837
1869
  trackInteraction: (extraData?: Empty | undefined) => void;
1838
1870
  isLastUsedWidget: boolean;
@@ -1869,7 +1901,6 @@ declare const InteractiveGraph: {
1869
1901
  problemNum: number | null | undefined;
1870
1902
  apiOptions: Readonly<Readonly<{
1871
1903
  isArticle?: boolean | undefined;
1872
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1873
1904
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1874
1905
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1875
1906
  showAlignmentOptions?: boolean | undefined;
@@ -1916,6 +1947,10 @@ declare const InteractiveGraph: {
1916
1947
  } & {
1917
1948
  "interactive-graph-locked-features-labels"?: boolean | undefined;
1918
1949
  "locked-point-labels"?: boolean | undefined;
1950
+ "locked-line-labels"?: boolean | undefined;
1951
+ "locked-vector-labels"?: boolean | undefined;
1952
+ "locked-ellipse-labels"?: boolean | undefined;
1953
+ "locked-function-labels"?: boolean | undefined;
1919
1954
  }) | undefined;
1920
1955
  } | undefined;
1921
1956
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -1931,7 +1966,6 @@ declare const InteractiveGraph: {
1931
1966
  isArticle: NonNullable<boolean | undefined>;
1932
1967
  isMobile: NonNullable<boolean | undefined>;
1933
1968
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1934
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1935
1969
  readOnly: NonNullable<boolean | undefined>;
1936
1970
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
1937
1971
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -1941,7 +1975,7 @@ declare const InteractiveGraph: {
1941
1975
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1942
1976
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1943
1977
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
1944
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
1978
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
1945
1979
  onChange: import("@khanacademy/perseus").ChangeHandler;
1946
1980
  trackInteraction: (extraData?: Empty | undefined) => void;
1947
1981
  isLastUsedWidget: boolean;
@@ -1955,7 +1989,6 @@ declare const InteractiveGraph: {
1955
1989
  problemNum: number | null | undefined;
1956
1990
  apiOptions: Readonly<Readonly<{
1957
1991
  isArticle?: boolean | undefined;
1958
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1959
1992
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1960
1993
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
1961
1994
  showAlignmentOptions?: boolean | undefined;
@@ -2002,6 +2035,10 @@ declare const InteractiveGraph: {
2002
2035
  } & {
2003
2036
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2004
2037
  "locked-point-labels"?: boolean | undefined;
2038
+ "locked-line-labels"?: boolean | undefined;
2039
+ "locked-vector-labels"?: boolean | undefined;
2040
+ "locked-ellipse-labels"?: boolean | undefined;
2041
+ "locked-function-labels"?: boolean | undefined;
2005
2042
  }) | undefined;
2006
2043
  } | undefined;
2007
2044
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2017,7 +2054,6 @@ declare const InteractiveGraph: {
2017
2054
  isArticle: NonNullable<boolean | undefined>;
2018
2055
  isMobile: NonNullable<boolean | undefined>;
2019
2056
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2020
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2021
2057
  readOnly: NonNullable<boolean | undefined>;
2022
2058
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2023
2059
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2027,7 +2063,7 @@ declare const InteractiveGraph: {
2027
2063
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2028
2064
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2029
2065
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2030
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2066
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2031
2067
  onChange: import("@khanacademy/perseus").ChangeHandler;
2032
2068
  trackInteraction: (extraData?: Empty | undefined) => void;
2033
2069
  isLastUsedWidget: boolean;
@@ -2041,7 +2077,6 @@ declare const InteractiveGraph: {
2041
2077
  problemNum: number | null | undefined;
2042
2078
  apiOptions: Readonly<Readonly<{
2043
2079
  isArticle?: boolean | undefined;
2044
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2045
2080
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2046
2081
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2047
2082
  showAlignmentOptions?: boolean | undefined;
@@ -2088,6 +2123,10 @@ declare const InteractiveGraph: {
2088
2123
  } & {
2089
2124
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2090
2125
  "locked-point-labels"?: boolean | undefined;
2126
+ "locked-line-labels"?: boolean | undefined;
2127
+ "locked-vector-labels"?: boolean | undefined;
2128
+ "locked-ellipse-labels"?: boolean | undefined;
2129
+ "locked-function-labels"?: boolean | undefined;
2091
2130
  }) | undefined;
2092
2131
  } | undefined;
2093
2132
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2103,7 +2142,6 @@ declare const InteractiveGraph: {
2103
2142
  isArticle: NonNullable<boolean | undefined>;
2104
2143
  isMobile: NonNullable<boolean | undefined>;
2105
2144
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2106
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2107
2145
  readOnly: NonNullable<boolean | undefined>;
2108
2146
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2109
2147
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2113,7 +2151,7 @@ declare const InteractiveGraph: {
2113
2151
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2114
2152
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2115
2153
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2116
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2154
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2117
2155
  onChange: import("@khanacademy/perseus").ChangeHandler;
2118
2156
  trackInteraction: (extraData?: Empty | undefined) => void;
2119
2157
  isLastUsedWidget: boolean;
@@ -2134,7 +2172,6 @@ declare const InteractiveGraph: {
2134
2172
  problemNum: number | null | undefined;
2135
2173
  apiOptions: Readonly<Readonly<{
2136
2174
  isArticle?: boolean | undefined;
2137
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2138
2175
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2139
2176
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2140
2177
  showAlignmentOptions?: boolean | undefined;
@@ -2181,6 +2218,10 @@ declare const InteractiveGraph: {
2181
2218
  } & {
2182
2219
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2183
2220
  "locked-point-labels"?: boolean | undefined;
2221
+ "locked-line-labels"?: boolean | undefined;
2222
+ "locked-vector-labels"?: boolean | undefined;
2223
+ "locked-ellipse-labels"?: boolean | undefined;
2224
+ "locked-function-labels"?: boolean | undefined;
2184
2225
  }) | undefined;
2185
2226
  } | undefined;
2186
2227
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2196,7 +2237,6 @@ declare const InteractiveGraph: {
2196
2237
  isArticle: NonNullable<boolean | undefined>;
2197
2238
  isMobile: NonNullable<boolean | undefined>;
2198
2239
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2199
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2200
2240
  readOnly: NonNullable<boolean | undefined>;
2201
2241
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2202
2242
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2206,26 +2246,21 @@ declare const InteractiveGraph: {
2206
2246
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2207
2247
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2208
2248
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2209
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2249
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2210
2250
  onChange: import("@khanacademy/perseus").ChangeHandler;
2211
2251
  trackInteraction: (extraData?: Empty | undefined) => void;
2212
2252
  isLastUsedWidget: boolean;
2213
2253
  linterContext: import("@khanacademy/perseus-linter").LinterContextProps;
2214
2254
  containerSizeClass: SizingUtils.SizeClass;
2215
- }) | null | undefined) => boolean; /**
2216
- * The range of the graph in the x and y directions.
2217
- */
2255
+ }) | null | undefined) => boolean;
2218
2256
  areAngleGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeAngle, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeAngle): boolean;
2219
- /**
2220
- * How far apart the tick marks on the axes are in the x and y
2221
- * directions.
2222
- */
2223
2257
  arePointGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePoint, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePoint): boolean;
2224
2258
  arePolygonGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePolygon, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypePolygon): boolean;
2225
2259
  areSegmentGraphsEqual(prevGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeSegment, currentGraph: import("../../../../perseus/src/perseus-types").PerseusGraphTypeSegment): boolean;
2226
2260
  _lineStroke: () => {
2227
2261
  "stroke-width"?: number | undefined; /**
2228
- * 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.
2229
2264
  */
2230
2265
  };
2231
2266
  addLine: (arg1: string) => void;
@@ -2237,16 +2272,13 @@ declare const InteractiveGraph: {
2237
2272
  addQuadraticControls: () => void;
2238
2273
  updateQuadratic: () => void;
2239
2274
  removeQuadraticControls: () => void;
2240
- addSinusoidControls: () => void; /**
2241
- * The type of markings to display on the graph.
2242
- * - graph: shows the axes and the grid lines
2243
- * - grid: shows only the grid lines
2244
- * - none: shows no markings
2245
- */
2275
+ addSinusoidControls: () => void;
2246
2276
  updateSinusoid: () => void;
2247
2277
  removeSinusoidControls: () => void;
2248
2278
  addCircleControls: () => void;
2249
- removeCircleControls: () => void;
2279
+ removeCircleControls: () => void; /**
2280
+ * Whether to show the protractor on the graph.
2281
+ */
2250
2282
  addLinearSystemControls: () => void;
2251
2283
  removeLinearSystemControls: () => void;
2252
2284
  isCoordInTrash: (arg1: import("@khanacademy/perseus").Coord) => boolean;
@@ -2269,7 +2301,7 @@ declare const InteractiveGraph: {
2269
2301
  removeAngleControls: () => void;
2270
2302
  toggleShowSides: () => void;
2271
2303
  getUserInput(): PerseusGraphType;
2272
- 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;
2273
2305
  focus: () => void;
2274
2306
  render(): React.ReactNode;
2275
2307
  setState<K extends string | number | symbol>(state: any, callback?: (() => void) | undefined): void;
@@ -2281,7 +2313,6 @@ declare const InteractiveGraph: {
2281
2313
  problemNum: number | null | undefined;
2282
2314
  apiOptions: Readonly<Readonly<{
2283
2315
  isArticle?: boolean | undefined;
2284
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2285
2316
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2286
2317
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2287
2318
  showAlignmentOptions?: boolean | undefined;
@@ -2328,6 +2359,10 @@ declare const InteractiveGraph: {
2328
2359
  } & {
2329
2360
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2330
2361
  "locked-point-labels"?: boolean | undefined;
2362
+ "locked-line-labels"?: boolean | undefined;
2363
+ "locked-vector-labels"?: boolean | undefined;
2364
+ "locked-ellipse-labels"?: boolean | undefined;
2365
+ "locked-function-labels"?: boolean | undefined;
2331
2366
  }) | undefined;
2332
2367
  } | undefined;
2333
2368
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2343,7 +2378,6 @@ declare const InteractiveGraph: {
2343
2378
  isArticle: NonNullable<boolean | undefined>;
2344
2379
  isMobile: NonNullable<boolean | undefined>;
2345
2380
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2346
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2347
2381
  readOnly: NonNullable<boolean | undefined>;
2348
2382
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2349
2383
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2353,7 +2387,7 @@ declare const InteractiveGraph: {
2353
2387
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2354
2388
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2355
2389
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2356
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2390
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2357
2391
  onChange: import("@khanacademy/perseus").ChangeHandler;
2358
2392
  trackInteraction: (extraData?: Empty | undefined) => void;
2359
2393
  isLastUsedWidget: boolean;
@@ -2370,7 +2404,6 @@ declare const InteractiveGraph: {
2370
2404
  problemNum: number | null | undefined;
2371
2405
  apiOptions: Readonly<Readonly<{
2372
2406
  isArticle?: boolean | undefined;
2373
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2374
2407
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2375
2408
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2376
2409
  showAlignmentOptions?: boolean | undefined;
@@ -2417,6 +2450,10 @@ declare const InteractiveGraph: {
2417
2450
  } & {
2418
2451
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2419
2452
  "locked-point-labels"?: boolean | undefined;
2453
+ "locked-line-labels"?: boolean | undefined;
2454
+ "locked-vector-labels"?: boolean | undefined;
2455
+ "locked-ellipse-labels"?: boolean | undefined;
2456
+ "locked-function-labels"?: boolean | undefined;
2420
2457
  }) | undefined;
2421
2458
  } | undefined;
2422
2459
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2432,7 +2469,6 @@ declare const InteractiveGraph: {
2432
2469
  isArticle: NonNullable<boolean | undefined>;
2433
2470
  isMobile: NonNullable<boolean | undefined>;
2434
2471
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2435
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2436
2472
  readOnly: NonNullable<boolean | undefined>;
2437
2473
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2438
2474
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2442,7 +2478,7 @@ declare const InteractiveGraph: {
2442
2478
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2443
2479
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2444
2480
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2445
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2481
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2446
2482
  onChange: import("@khanacademy/perseus").ChangeHandler;
2447
2483
  trackInteraction: (extraData?: Empty | undefined) => void;
2448
2484
  isLastUsedWidget: boolean;
@@ -2458,7 +2494,6 @@ declare const InteractiveGraph: {
2458
2494
  problemNum: number | null | undefined;
2459
2495
  apiOptions: Readonly<Readonly<{
2460
2496
  isArticle?: boolean | undefined;
2461
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2462
2497
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2463
2498
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2464
2499
  showAlignmentOptions?: boolean | undefined;
@@ -2505,6 +2540,10 @@ declare const InteractiveGraph: {
2505
2540
  } & {
2506
2541
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2507
2542
  "locked-point-labels"?: boolean | undefined;
2543
+ "locked-line-labels"?: boolean | undefined;
2544
+ "locked-vector-labels"?: boolean | undefined;
2545
+ "locked-ellipse-labels"?: boolean | undefined;
2546
+ "locked-function-labels"?: boolean | undefined;
2508
2547
  }) | undefined;
2509
2548
  } | undefined;
2510
2549
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2520,7 +2559,6 @@ declare const InteractiveGraph: {
2520
2559
  isArticle: NonNullable<boolean | undefined>;
2521
2560
  isMobile: NonNullable<boolean | undefined>;
2522
2561
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2523
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2524
2562
  readOnly: NonNullable<boolean | undefined>;
2525
2563
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2526
2564
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2530,7 +2568,7 @@ declare const InteractiveGraph: {
2530
2568
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2531
2569
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2532
2570
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2533
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2571
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2534
2572
  onChange: import("@khanacademy/perseus").ChangeHandler;
2535
2573
  trackInteraction: (extraData?: Empty | undefined) => void;
2536
2574
  isLastUsedWidget: boolean;
@@ -2546,7 +2584,6 @@ declare const InteractiveGraph: {
2546
2584
  problemNum: number | null | undefined;
2547
2585
  apiOptions: Readonly<Readonly<{
2548
2586
  isArticle?: boolean | undefined;
2549
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2550
2587
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2551
2588
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2552
2589
  showAlignmentOptions?: boolean | undefined;
@@ -2593,6 +2630,10 @@ declare const InteractiveGraph: {
2593
2630
  } & {
2594
2631
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2595
2632
  "locked-point-labels"?: boolean | undefined;
2633
+ "locked-line-labels"?: boolean | undefined;
2634
+ "locked-vector-labels"?: boolean | undefined;
2635
+ "locked-ellipse-labels"?: boolean | undefined;
2636
+ "locked-function-labels"?: boolean | undefined;
2596
2637
  }) | undefined;
2597
2638
  } | undefined;
2598
2639
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2608,7 +2649,6 @@ declare const InteractiveGraph: {
2608
2649
  isArticle: NonNullable<boolean | undefined>;
2609
2650
  isMobile: NonNullable<boolean | undefined>;
2610
2651
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2611
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2612
2652
  readOnly: NonNullable<boolean | undefined>;
2613
2653
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2614
2654
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2618,7 +2658,7 @@ declare const InteractiveGraph: {
2618
2658
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2619
2659
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2620
2660
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2621
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2661
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2622
2662
  onChange: import("@khanacademy/perseus").ChangeHandler;
2623
2663
  trackInteraction: (extraData?: Empty | undefined) => void;
2624
2664
  isLastUsedWidget: boolean;
@@ -2632,7 +2672,6 @@ declare const InteractiveGraph: {
2632
2672
  problemNum: number | null | undefined;
2633
2673
  apiOptions: Readonly<Readonly<{
2634
2674
  isArticle?: boolean | undefined;
2635
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2636
2675
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2637
2676
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2638
2677
  showAlignmentOptions?: boolean | undefined;
@@ -2679,6 +2718,10 @@ declare const InteractiveGraph: {
2679
2718
  } & {
2680
2719
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2681
2720
  "locked-point-labels"?: boolean | undefined;
2721
+ "locked-line-labels"?: boolean | undefined;
2722
+ "locked-vector-labels"?: boolean | undefined;
2723
+ "locked-ellipse-labels"?: boolean | undefined;
2724
+ "locked-function-labels"?: boolean | undefined;
2682
2725
  }) | undefined;
2683
2726
  } | undefined;
2684
2727
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2694,7 +2737,6 @@ declare const InteractiveGraph: {
2694
2737
  isArticle: NonNullable<boolean | undefined>;
2695
2738
  isMobile: NonNullable<boolean | undefined>;
2696
2739
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2697
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2698
2740
  readOnly: NonNullable<boolean | undefined>;
2699
2741
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2700
2742
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2704,7 +2746,7 @@ declare const InteractiveGraph: {
2704
2746
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2705
2747
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2706
2748
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2707
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2749
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2708
2750
  onChange: import("@khanacademy/perseus").ChangeHandler;
2709
2751
  trackInteraction: (extraData?: Empty | undefined) => void;
2710
2752
  isLastUsedWidget: boolean;
@@ -2718,7 +2760,6 @@ declare const InteractiveGraph: {
2718
2760
  problemNum: number | null | undefined;
2719
2761
  apiOptions: Readonly<Readonly<{
2720
2762
  isArticle?: boolean | undefined;
2721
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2722
2763
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2723
2764
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2724
2765
  showAlignmentOptions?: boolean | undefined;
@@ -2765,6 +2806,10 @@ declare const InteractiveGraph: {
2765
2806
  } & {
2766
2807
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2767
2808
  "locked-point-labels"?: boolean | undefined;
2809
+ "locked-line-labels"?: boolean | undefined;
2810
+ "locked-vector-labels"?: boolean | undefined;
2811
+ "locked-ellipse-labels"?: boolean | undefined;
2812
+ "locked-function-labels"?: boolean | undefined;
2768
2813
  }) | undefined;
2769
2814
  } | undefined;
2770
2815
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2780,7 +2825,6 @@ declare const InteractiveGraph: {
2780
2825
  isArticle: NonNullable<boolean | undefined>;
2781
2826
  isMobile: NonNullable<boolean | undefined>;
2782
2827
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2783
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2784
2828
  readOnly: NonNullable<boolean | undefined>;
2785
2829
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2786
2830
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2790,7 +2834,7 @@ declare const InteractiveGraph: {
2790
2834
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2791
2835
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2792
2836
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2793
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2837
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2794
2838
  onChange: import("@khanacademy/perseus").ChangeHandler;
2795
2839
  trackInteraction: (extraData?: Empty | undefined) => void;
2796
2840
  isLastUsedWidget: boolean;
@@ -2798,9 +2842,9 @@ declare const InteractiveGraph: {
2798
2842
  containerSizeClass: SizingUtils.SizeClass;
2799
2843
  }>, nextState: Readonly<any>, nextContext: any): void;
2800
2844
  }>;
2801
- mafsRef: React.RefObject<import("../../../../perseus/src/renderer").Widget>;
2802
- getUserInput: (() => any) | undefined;
2803
- 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;
2804
2848
  render(): React.JSX.Element;
2805
2849
  context: unknown;
2806
2850
  setState<K_1 extends string | number | symbol>(state: any, callback?: (() => void) | undefined): void;
@@ -2812,7 +2856,6 @@ declare const InteractiveGraph: {
2812
2856
  problemNum: number | null | undefined;
2813
2857
  apiOptions: Readonly<Readonly<{
2814
2858
  isArticle?: boolean | undefined;
2815
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2816
2859
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2817
2860
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2818
2861
  showAlignmentOptions?: boolean | undefined;
@@ -2859,6 +2902,10 @@ declare const InteractiveGraph: {
2859
2902
  } & {
2860
2903
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2861
2904
  "locked-point-labels"?: boolean | undefined;
2905
+ "locked-line-labels"?: boolean | undefined;
2906
+ "locked-vector-labels"?: boolean | undefined;
2907
+ "locked-ellipse-labels"?: boolean | undefined;
2908
+ "locked-function-labels"?: boolean | undefined;
2862
2909
  }) | undefined;
2863
2910
  } | undefined;
2864
2911
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2874,7 +2921,6 @@ declare const InteractiveGraph: {
2874
2921
  isArticle: NonNullable<boolean | undefined>;
2875
2922
  isMobile: NonNullable<boolean | undefined>;
2876
2923
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2877
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2878
2924
  readOnly: NonNullable<boolean | undefined>;
2879
2925
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2880
2926
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2884,7 +2930,7 @@ declare const InteractiveGraph: {
2884
2930
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2885
2931
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2886
2932
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2887
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
2933
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2888
2934
  onChange: import("@khanacademy/perseus").ChangeHandler;
2889
2935
  trackInteraction: (extraData?: Empty | undefined) => void;
2890
2936
  isLastUsedWidget: boolean;
@@ -2903,7 +2949,6 @@ declare const InteractiveGraph: {
2903
2949
  problemNum: number | null | undefined;
2904
2950
  apiOptions: Readonly<Readonly<{
2905
2951
  isArticle?: boolean | undefined;
2906
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2907
2952
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2908
2953
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2909
2954
  showAlignmentOptions?: boolean | undefined;
@@ -2950,6 +2995,10 @@ declare const InteractiveGraph: {
2950
2995
  } & {
2951
2996
  "interactive-graph-locked-features-labels"?: boolean | undefined;
2952
2997
  "locked-point-labels"?: boolean | undefined;
2998
+ "locked-line-labels"?: boolean | undefined;
2999
+ "locked-vector-labels"?: boolean | undefined;
3000
+ "locked-ellipse-labels"?: boolean | undefined;
3001
+ "locked-function-labels"?: boolean | undefined;
2953
3002
  }) | undefined;
2954
3003
  } | undefined;
2955
3004
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -2965,7 +3014,6 @@ declare const InteractiveGraph: {
2965
3014
  isArticle: NonNullable<boolean | undefined>;
2966
3015
  isMobile: NonNullable<boolean | undefined>;
2967
3016
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2968
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2969
3017
  readOnly: NonNullable<boolean | undefined>;
2970
3018
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
2971
3019
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -2975,7 +3023,7 @@ declare const InteractiveGraph: {
2975
3023
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2976
3024
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2977
3025
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
2978
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3026
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
2979
3027
  onChange: import("@khanacademy/perseus").ChangeHandler;
2980
3028
  trackInteraction: (extraData?: Empty | undefined) => void;
2981
3029
  isLastUsedWidget: boolean;
@@ -2991,7 +3039,6 @@ declare const InteractiveGraph: {
2991
3039
  problemNum: number | null | undefined;
2992
3040
  apiOptions: Readonly<Readonly<{
2993
3041
  isArticle?: boolean | undefined;
2994
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2995
3042
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2996
3043
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
2997
3044
  showAlignmentOptions?: boolean | undefined;
@@ -3038,6 +3085,10 @@ declare const InteractiveGraph: {
3038
3085
  } & {
3039
3086
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3040
3087
  "locked-point-labels"?: boolean | undefined;
3088
+ "locked-line-labels"?: boolean | undefined;
3089
+ "locked-vector-labels"?: boolean | undefined;
3090
+ "locked-ellipse-labels"?: boolean | undefined;
3091
+ "locked-function-labels"?: boolean | undefined;
3041
3092
  }) | undefined;
3042
3093
  } | undefined;
3043
3094
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3053,7 +3104,6 @@ declare const InteractiveGraph: {
3053
3104
  isArticle: NonNullable<boolean | undefined>;
3054
3105
  isMobile: NonNullable<boolean | undefined>;
3055
3106
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3056
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3057
3107
  readOnly: NonNullable<boolean | undefined>;
3058
3108
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3059
3109
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3063,7 +3113,7 @@ declare const InteractiveGraph: {
3063
3113
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3064
3114
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3065
3115
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3066
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3116
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3067
3117
  onChange: import("@khanacademy/perseus").ChangeHandler;
3068
3118
  trackInteraction: (extraData?: Empty | undefined) => void;
3069
3119
  isLastUsedWidget: boolean;
@@ -3077,7 +3127,6 @@ declare const InteractiveGraph: {
3077
3127
  problemNum: number | null | undefined;
3078
3128
  apiOptions: Readonly<Readonly<{
3079
3129
  isArticle?: boolean | undefined;
3080
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3081
3130
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3082
3131
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3083
3132
  showAlignmentOptions?: boolean | undefined;
@@ -3124,6 +3173,10 @@ declare const InteractiveGraph: {
3124
3173
  } & {
3125
3174
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3126
3175
  "locked-point-labels"?: boolean | undefined;
3176
+ "locked-line-labels"?: boolean | undefined;
3177
+ "locked-vector-labels"?: boolean | undefined;
3178
+ "locked-ellipse-labels"?: boolean | undefined;
3179
+ "locked-function-labels"?: boolean | undefined;
3127
3180
  }) | undefined;
3128
3181
  } | undefined;
3129
3182
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3139,7 +3192,6 @@ declare const InteractiveGraph: {
3139
3192
  isArticle: NonNullable<boolean | undefined>;
3140
3193
  isMobile: NonNullable<boolean | undefined>;
3141
3194
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3142
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3143
3195
  readOnly: NonNullable<boolean | undefined>;
3144
3196
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3145
3197
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3149,7 +3201,7 @@ declare const InteractiveGraph: {
3149
3201
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3150
3202
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3151
3203
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3152
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3204
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3153
3205
  onChange: import("@khanacademy/perseus").ChangeHandler;
3154
3206
  trackInteraction: (extraData?: Empty | undefined) => void;
3155
3207
  isLastUsedWidget: boolean;
@@ -3165,7 +3217,6 @@ declare const InteractiveGraph: {
3165
3217
  problemNum: number | null | undefined;
3166
3218
  apiOptions: Readonly<Readonly<{
3167
3219
  isArticle?: boolean | undefined;
3168
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3169
3220
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3170
3221
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3171
3222
  showAlignmentOptions?: boolean | undefined;
@@ -3212,6 +3263,10 @@ declare const InteractiveGraph: {
3212
3263
  } & {
3213
3264
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3214
3265
  "locked-point-labels"?: boolean | undefined;
3266
+ "locked-line-labels"?: boolean | undefined;
3267
+ "locked-vector-labels"?: boolean | undefined;
3268
+ "locked-ellipse-labels"?: boolean | undefined;
3269
+ "locked-function-labels"?: boolean | undefined;
3215
3270
  }) | undefined;
3216
3271
  } | undefined;
3217
3272
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3227,7 +3282,6 @@ declare const InteractiveGraph: {
3227
3282
  isArticle: NonNullable<boolean | undefined>;
3228
3283
  isMobile: NonNullable<boolean | undefined>;
3229
3284
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3230
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3231
3285
  readOnly: NonNullable<boolean | undefined>;
3232
3286
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3233
3287
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3237,7 +3291,7 @@ declare const InteractiveGraph: {
3237
3291
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3238
3292
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3239
3293
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3240
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3294
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3241
3295
  onChange: import("@khanacademy/perseus").ChangeHandler;
3242
3296
  trackInteraction: (extraData?: Empty | undefined) => void;
3243
3297
  isLastUsedWidget: boolean;
@@ -3251,7 +3305,6 @@ declare const InteractiveGraph: {
3251
3305
  problemNum: number | null | undefined;
3252
3306
  apiOptions: Readonly<Readonly<{
3253
3307
  isArticle?: boolean | undefined;
3254
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3255
3308
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3256
3309
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3257
3310
  showAlignmentOptions?: boolean | undefined;
@@ -3298,6 +3351,10 @@ declare const InteractiveGraph: {
3298
3351
  } & {
3299
3352
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3300
3353
  "locked-point-labels"?: boolean | undefined;
3354
+ "locked-line-labels"?: boolean | undefined;
3355
+ "locked-vector-labels"?: boolean | undefined;
3356
+ "locked-ellipse-labels"?: boolean | undefined;
3357
+ "locked-function-labels"?: boolean | undefined;
3301
3358
  }) | undefined;
3302
3359
  } | undefined;
3303
3360
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3313,7 +3370,6 @@ declare const InteractiveGraph: {
3313
3370
  isArticle: NonNullable<boolean | undefined>;
3314
3371
  isMobile: NonNullable<boolean | undefined>;
3315
3372
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3316
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3317
3373
  readOnly: NonNullable<boolean | undefined>;
3318
3374
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3319
3375
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3323,7 +3379,7 @@ declare const InteractiveGraph: {
3323
3379
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3324
3380
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3325
3381
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3326
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3382
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3327
3383
  onChange: import("@khanacademy/perseus").ChangeHandler;
3328
3384
  trackInteraction: (extraData?: Empty | undefined) => void;
3329
3385
  isLastUsedWidget: boolean;
@@ -3337,7 +3393,6 @@ declare const InteractiveGraph: {
3337
3393
  problemNum: number | null | undefined;
3338
3394
  apiOptions: Readonly<Readonly<{
3339
3395
  isArticle?: boolean | undefined;
3340
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3341
3396
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3342
3397
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3343
3398
  showAlignmentOptions?: boolean | undefined;
@@ -3384,6 +3439,10 @@ declare const InteractiveGraph: {
3384
3439
  } & {
3385
3440
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3386
3441
  "locked-point-labels"?: boolean | undefined;
3442
+ "locked-line-labels"?: boolean | undefined;
3443
+ "locked-vector-labels"?: boolean | undefined;
3444
+ "locked-ellipse-labels"?: boolean | undefined;
3445
+ "locked-function-labels"?: boolean | undefined;
3387
3446
  }) | undefined;
3388
3447
  } | undefined;
3389
3448
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3399,7 +3458,6 @@ declare const InteractiveGraph: {
3399
3458
  isArticle: NonNullable<boolean | undefined>;
3400
3459
  isMobile: NonNullable<boolean | undefined>;
3401
3460
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3402
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3403
3461
  readOnly: NonNullable<boolean | undefined>;
3404
3462
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3405
3463
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3409,7 +3467,7 @@ declare const InteractiveGraph: {
3409
3467
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3410
3468
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3411
3469
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3412
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3470
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3413
3471
  onChange: import("@khanacademy/perseus").ChangeHandler;
3414
3472
  trackInteraction: (extraData?: Empty | undefined) => void;
3415
3473
  isLastUsedWidget: boolean;
@@ -3423,7 +3481,6 @@ declare const InteractiveGraph: {
3423
3481
  problemNum: number | null | undefined;
3424
3482
  apiOptions: Readonly<Readonly<{
3425
3483
  isArticle?: boolean | undefined;
3426
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3427
3484
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3428
3485
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3429
3486
  showAlignmentOptions?: boolean | undefined;
@@ -3470,6 +3527,10 @@ declare const InteractiveGraph: {
3470
3527
  } & {
3471
3528
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3472
3529
  "locked-point-labels"?: boolean | undefined;
3530
+ "locked-line-labels"?: boolean | undefined;
3531
+ "locked-vector-labels"?: boolean | undefined;
3532
+ "locked-ellipse-labels"?: boolean | undefined;
3533
+ "locked-function-labels"?: boolean | undefined;
3473
3534
  }) | undefined;
3474
3535
  } | undefined;
3475
3536
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3485,7 +3546,6 @@ declare const InteractiveGraph: {
3485
3546
  isArticle: NonNullable<boolean | undefined>;
3486
3547
  isMobile: NonNullable<boolean | undefined>;
3487
3548
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3488
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3489
3549
  readOnly: NonNullable<boolean | undefined>;
3490
3550
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3491
3551
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3495,7 +3555,7 @@ declare const InteractiveGraph: {
3495
3555
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3496
3556
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3497
3557
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3498
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3558
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3499
3559
  onChange: import("@khanacademy/perseus").ChangeHandler;
3500
3560
  trackInteraction: (extraData?: Empty | undefined) => void;
3501
3561
  isLastUsedWidget: boolean;
@@ -3522,7 +3582,6 @@ declare const InteractiveGraph: {
3522
3582
  problemNum: number | null | undefined;
3523
3583
  apiOptions: Readonly<Readonly<{
3524
3584
  isArticle?: boolean | undefined;
3525
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3526
3585
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3527
3586
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3528
3587
  showAlignmentOptions?: boolean | undefined;
@@ -3569,6 +3628,10 @@ declare const InteractiveGraph: {
3569
3628
  } & {
3570
3629
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3571
3630
  "locked-point-labels"?: boolean | undefined;
3631
+ "locked-line-labels"?: boolean | undefined;
3632
+ "locked-vector-labels"?: boolean | undefined;
3633
+ "locked-ellipse-labels"?: boolean | undefined;
3634
+ "locked-function-labels"?: boolean | undefined;
3572
3635
  }) | undefined;
3573
3636
  } | undefined;
3574
3637
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3584,7 +3647,6 @@ declare const InteractiveGraph: {
3584
3647
  isArticle: NonNullable<boolean | undefined>;
3585
3648
  isMobile: NonNullable<boolean | undefined>;
3586
3649
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3587
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3588
3650
  readOnly: NonNullable<boolean | undefined>;
3589
3651
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3590
3652
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3594,7 +3656,7 @@ declare const InteractiveGraph: {
3594
3656
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3595
3657
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3596
3658
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3597
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3659
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3598
3660
  onChange: import("@khanacademy/perseus").ChangeHandler;
3599
3661
  trackInteraction: (extraData?: Empty | undefined) => void;
3600
3662
  isLastUsedWidget: boolean;
@@ -3608,7 +3670,6 @@ declare const InteractiveGraph: {
3608
3670
  problemNum: number | null | undefined;
3609
3671
  apiOptions: Readonly<Readonly<{
3610
3672
  isArticle?: boolean | undefined;
3611
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3612
3673
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3613
3674
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3614
3675
  showAlignmentOptions?: boolean | undefined;
@@ -3655,6 +3716,10 @@ declare const InteractiveGraph: {
3655
3716
  } & {
3656
3717
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3657
3718
  "locked-point-labels"?: boolean | undefined;
3719
+ "locked-line-labels"?: boolean | undefined;
3720
+ "locked-vector-labels"?: boolean | undefined;
3721
+ "locked-ellipse-labels"?: boolean | undefined;
3722
+ "locked-function-labels"?: boolean | undefined;
3658
3723
  }) | undefined;
3659
3724
  } | undefined;
3660
3725
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3670,7 +3735,6 @@ declare const InteractiveGraph: {
3670
3735
  isArticle: NonNullable<boolean | undefined>;
3671
3736
  isMobile: NonNullable<boolean | undefined>;
3672
3737
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3673
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3674
3738
  readOnly: NonNullable<boolean | undefined>;
3675
3739
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3676
3740
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3680,7 +3744,7 @@ declare const InteractiveGraph: {
3680
3744
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3681
3745
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3682
3746
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3683
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3747
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3684
3748
  onChange: import("@khanacademy/perseus").ChangeHandler;
3685
3749
  trackInteraction: (extraData?: Empty | undefined) => void;
3686
3750
  isLastUsedWidget: boolean;
@@ -3694,7 +3758,6 @@ declare const InteractiveGraph: {
3694
3758
  problemNum: number | null | undefined;
3695
3759
  apiOptions: Readonly<Readonly<{
3696
3760
  isArticle?: boolean | undefined;
3697
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3698
3761
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3699
3762
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3700
3763
  showAlignmentOptions?: boolean | undefined;
@@ -3741,6 +3804,10 @@ declare const InteractiveGraph: {
3741
3804
  } & {
3742
3805
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3743
3806
  "locked-point-labels"?: boolean | undefined;
3807
+ "locked-line-labels"?: boolean | undefined;
3808
+ "locked-vector-labels"?: boolean | undefined;
3809
+ "locked-ellipse-labels"?: boolean | undefined;
3810
+ "locked-function-labels"?: boolean | undefined;
3744
3811
  }) | undefined;
3745
3812
  } | undefined;
3746
3813
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3756,7 +3823,6 @@ declare const InteractiveGraph: {
3756
3823
  isArticle: NonNullable<boolean | undefined>;
3757
3824
  isMobile: NonNullable<boolean | undefined>;
3758
3825
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3759
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3760
3826
  readOnly: NonNullable<boolean | undefined>;
3761
3827
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3762
3828
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3766,7 +3832,7 @@ declare const InteractiveGraph: {
3766
3832
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3767
3833
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3768
3834
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3769
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3835
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3770
3836
  onChange: import("@khanacademy/perseus").ChangeHandler;
3771
3837
  trackInteraction: (extraData?: Empty | undefined) => void;
3772
3838
  isLastUsedWidget: boolean;
@@ -3780,7 +3846,6 @@ declare const InteractiveGraph: {
3780
3846
  problemNum: number | null | undefined;
3781
3847
  apiOptions: Readonly<Readonly<{
3782
3848
  isArticle?: boolean | undefined;
3783
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3784
3849
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3785
3850
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3786
3851
  showAlignmentOptions?: boolean | undefined;
@@ -3827,6 +3892,10 @@ declare const InteractiveGraph: {
3827
3892
  } & {
3828
3893
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3829
3894
  "locked-point-labels"?: boolean | undefined;
3895
+ "locked-line-labels"?: boolean | undefined;
3896
+ "locked-vector-labels"?: boolean | undefined;
3897
+ "locked-ellipse-labels"?: boolean | undefined;
3898
+ "locked-function-labels"?: boolean | undefined;
3830
3899
  }) | undefined;
3831
3900
  } | undefined;
3832
3901
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3842,7 +3911,6 @@ declare const InteractiveGraph: {
3842
3911
  isArticle: NonNullable<boolean | undefined>;
3843
3912
  isMobile: NonNullable<boolean | undefined>;
3844
3913
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3845
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3846
3914
  readOnly: NonNullable<boolean | undefined>;
3847
3915
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3848
3916
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3852,7 +3920,7 @@ declare const InteractiveGraph: {
3852
3920
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3853
3921
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3854
3922
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3855
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
3923
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3856
3924
  onChange: import("@khanacademy/perseus").ChangeHandler;
3857
3925
  trackInteraction: (extraData?: Empty | undefined) => void;
3858
3926
  isLastUsedWidget: boolean;
@@ -3866,7 +3934,6 @@ declare const InteractiveGraph: {
3866
3934
  problemNum: number | null | undefined;
3867
3935
  apiOptions: Readonly<Readonly<{
3868
3936
  isArticle?: boolean | undefined;
3869
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3870
3937
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3871
3938
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3872
3939
  showAlignmentOptions?: boolean | undefined;
@@ -3913,6 +3980,10 @@ declare const InteractiveGraph: {
3913
3980
  } & {
3914
3981
  "interactive-graph-locked-features-labels"?: boolean | undefined;
3915
3982
  "locked-point-labels"?: boolean | undefined;
3983
+ "locked-line-labels"?: boolean | undefined;
3984
+ "locked-vector-labels"?: boolean | undefined;
3985
+ "locked-ellipse-labels"?: boolean | undefined;
3986
+ "locked-function-labels"?: boolean | undefined;
3916
3987
  }) | undefined;
3917
3988
  } | undefined;
3918
3989
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -3928,7 +3999,6 @@ declare const InteractiveGraph: {
3928
3999
  isArticle: NonNullable<boolean | undefined>;
3929
4000
  isMobile: NonNullable<boolean | undefined>;
3930
4001
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3931
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3932
4002
  readOnly: NonNullable<boolean | undefined>;
3933
4003
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
3934
4004
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -3938,7 +4008,7 @@ declare const InteractiveGraph: {
3938
4008
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3939
4009
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3940
4010
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
3941
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4011
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
3942
4012
  onChange: import("@khanacademy/perseus").ChangeHandler;
3943
4013
  trackInteraction: (extraData?: Empty | undefined) => void;
3944
4014
  isLastUsedWidget: boolean;
@@ -3952,7 +4022,6 @@ declare const InteractiveGraph: {
3952
4022
  problemNum: number | null | undefined;
3953
4023
  apiOptions: Readonly<Readonly<{
3954
4024
  isArticle?: boolean | undefined;
3955
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3956
4025
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3957
4026
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
3958
4027
  showAlignmentOptions?: boolean | undefined;
@@ -3999,6 +4068,10 @@ declare const InteractiveGraph: {
3999
4068
  } & {
4000
4069
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4001
4070
  "locked-point-labels"?: boolean | undefined;
4071
+ "locked-line-labels"?: boolean | undefined;
4072
+ "locked-vector-labels"?: boolean | undefined;
4073
+ "locked-ellipse-labels"?: boolean | undefined;
4074
+ "locked-function-labels"?: boolean | undefined;
4002
4075
  }) | undefined;
4003
4076
  } | undefined;
4004
4077
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4014,7 +4087,6 @@ declare const InteractiveGraph: {
4014
4087
  isArticle: NonNullable<boolean | undefined>;
4015
4088
  isMobile: NonNullable<boolean | undefined>;
4016
4089
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4017
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4018
4090
  readOnly: NonNullable<boolean | undefined>;
4019
4091
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4020
4092
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4024,7 +4096,7 @@ declare const InteractiveGraph: {
4024
4096
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4025
4097
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4026
4098
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4027
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4099
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4028
4100
  onChange: import("@khanacademy/perseus").ChangeHandler;
4029
4101
  trackInteraction: (extraData?: Empty | undefined) => void;
4030
4102
  isLastUsedWidget: boolean;
@@ -4039,7 +4111,6 @@ declare const InteractiveGraph: {
4039
4111
  problemNum: number | null | undefined;
4040
4112
  apiOptions: Readonly<Readonly<{
4041
4113
  isArticle?: boolean | undefined;
4042
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4043
4114
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4044
4115
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4045
4116
  showAlignmentOptions?: boolean | undefined;
@@ -4086,6 +4157,10 @@ declare const InteractiveGraph: {
4086
4157
  } & {
4087
4158
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4088
4159
  "locked-point-labels"?: boolean | undefined;
4160
+ "locked-line-labels"?: boolean | undefined;
4161
+ "locked-vector-labels"?: boolean | undefined;
4162
+ "locked-ellipse-labels"?: boolean | undefined;
4163
+ "locked-function-labels"?: boolean | undefined;
4089
4164
  }) | undefined;
4090
4165
  } | undefined;
4091
4166
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4101,7 +4176,6 @@ declare const InteractiveGraph: {
4101
4176
  isArticle: NonNullable<boolean | undefined>;
4102
4177
  isMobile: NonNullable<boolean | undefined>;
4103
4178
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4104
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4105
4179
  readOnly: NonNullable<boolean | undefined>;
4106
4180
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4107
4181
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4111,7 +4185,7 @@ declare const InteractiveGraph: {
4111
4185
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4112
4186
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4113
4187
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4114
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4188
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4115
4189
  onChange: import("@khanacademy/perseus").ChangeHandler;
4116
4190
  trackInteraction: (extraData?: Empty | undefined) => void;
4117
4191
  isLastUsedWidget: boolean;
@@ -4125,7 +4199,6 @@ declare const InteractiveGraph: {
4125
4199
  problemNum: number | null | undefined;
4126
4200
  apiOptions: Readonly<Readonly<{
4127
4201
  isArticle?: boolean | undefined;
4128
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4129
4202
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4130
4203
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4131
4204
  showAlignmentOptions?: boolean | undefined;
@@ -4172,6 +4245,10 @@ declare const InteractiveGraph: {
4172
4245
  } & {
4173
4246
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4174
4247
  "locked-point-labels"?: boolean | undefined;
4248
+ "locked-line-labels"?: boolean | undefined;
4249
+ "locked-vector-labels"?: boolean | undefined;
4250
+ "locked-ellipse-labels"?: boolean | undefined;
4251
+ "locked-function-labels"?: boolean | undefined;
4175
4252
  }) | undefined;
4176
4253
  } | undefined;
4177
4254
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4187,7 +4264,6 @@ declare const InteractiveGraph: {
4187
4264
  isArticle: NonNullable<boolean | undefined>;
4188
4265
  isMobile: NonNullable<boolean | undefined>;
4189
4266
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4190
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4191
4267
  readOnly: NonNullable<boolean | undefined>;
4192
4268
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4193
4269
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4197,7 +4273,7 @@ declare const InteractiveGraph: {
4197
4273
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4198
4274
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4199
4275
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4200
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4276
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4201
4277
  onChange: import("@khanacademy/perseus").ChangeHandler;
4202
4278
  trackInteraction: (extraData?: Empty | undefined) => void;
4203
4279
  isLastUsedWidget: boolean;
@@ -4212,7 +4288,6 @@ declare const InteractiveGraph: {
4212
4288
  problemNum: number | null | undefined;
4213
4289
  apiOptions: Readonly<Readonly<{
4214
4290
  isArticle?: boolean | undefined;
4215
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4216
4291
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4217
4292
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4218
4293
  showAlignmentOptions?: boolean | undefined;
@@ -4259,6 +4334,10 @@ declare const InteractiveGraph: {
4259
4334
  } & {
4260
4335
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4261
4336
  "locked-point-labels"?: boolean | undefined;
4337
+ "locked-line-labels"?: boolean | undefined;
4338
+ "locked-vector-labels"?: boolean | undefined;
4339
+ "locked-ellipse-labels"?: boolean | undefined;
4340
+ "locked-function-labels"?: boolean | undefined;
4262
4341
  }) | undefined;
4263
4342
  } | undefined;
4264
4343
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4274,7 +4353,6 @@ declare const InteractiveGraph: {
4274
4353
  isArticle: NonNullable<boolean | undefined>;
4275
4354
  isMobile: NonNullable<boolean | undefined>;
4276
4355
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4277
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4278
4356
  readOnly: NonNullable<boolean | undefined>;
4279
4357
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4280
4358
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4284,7 +4362,7 @@ declare const InteractiveGraph: {
4284
4362
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4285
4363
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4286
4364
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4287
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4365
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4288
4366
  onChange: import("@khanacademy/perseus").ChangeHandler;
4289
4367
  trackInteraction: (extraData?: Empty | undefined) => void;
4290
4368
  isLastUsedWidget: boolean;
@@ -4298,7 +4376,6 @@ declare const InteractiveGraph: {
4298
4376
  problemNum: number | null | undefined;
4299
4377
  apiOptions: Readonly<Readonly<{
4300
4378
  isArticle?: boolean | undefined;
4301
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4302
4379
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4303
4380
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4304
4381
  showAlignmentOptions?: boolean | undefined;
@@ -4345,6 +4422,10 @@ declare const InteractiveGraph: {
4345
4422
  } & {
4346
4423
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4347
4424
  "locked-point-labels"?: boolean | undefined;
4425
+ "locked-line-labels"?: boolean | undefined;
4426
+ "locked-vector-labels"?: boolean | undefined;
4427
+ "locked-ellipse-labels"?: boolean | undefined;
4428
+ "locked-function-labels"?: boolean | undefined;
4348
4429
  }) | undefined;
4349
4430
  } | undefined;
4350
4431
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4360,7 +4441,6 @@ declare const InteractiveGraph: {
4360
4441
  isArticle: NonNullable<boolean | undefined>;
4361
4442
  isMobile: NonNullable<boolean | undefined>;
4362
4443
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4363
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4364
4444
  readOnly: NonNullable<boolean | undefined>;
4365
4445
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4366
4446
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4370,7 +4450,7 @@ declare const InteractiveGraph: {
4370
4450
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4371
4451
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4372
4452
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4373
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4453
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4374
4454
  onChange: import("@khanacademy/perseus").ChangeHandler;
4375
4455
  trackInteraction: (extraData?: Empty | undefined) => void;
4376
4456
  isLastUsedWidget: boolean;
@@ -4384,7 +4464,6 @@ declare const InteractiveGraph: {
4384
4464
  problemNum: number | null | undefined;
4385
4465
  apiOptions: Readonly<Readonly<{
4386
4466
  isArticle?: boolean | undefined;
4387
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4388
4467
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4389
4468
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4390
4469
  showAlignmentOptions?: boolean | undefined;
@@ -4431,6 +4510,10 @@ declare const InteractiveGraph: {
4431
4510
  } & {
4432
4511
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4433
4512
  "locked-point-labels"?: boolean | undefined;
4513
+ "locked-line-labels"?: boolean | undefined;
4514
+ "locked-vector-labels"?: boolean | undefined;
4515
+ "locked-ellipse-labels"?: boolean | undefined;
4516
+ "locked-function-labels"?: boolean | undefined;
4434
4517
  }) | undefined;
4435
4518
  } | undefined;
4436
4519
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4446,7 +4529,6 @@ declare const InteractiveGraph: {
4446
4529
  isArticle: NonNullable<boolean | undefined>;
4447
4530
  isMobile: NonNullable<boolean | undefined>;
4448
4531
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4449
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4450
4532
  readOnly: NonNullable<boolean | undefined>;
4451
4533
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4452
4534
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4456,7 +4538,7 @@ declare const InteractiveGraph: {
4456
4538
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4457
4539
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4458
4540
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4459
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4541
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4460
4542
  onChange: import("@khanacademy/perseus").ChangeHandler;
4461
4543
  trackInteraction: (extraData?: Empty | undefined) => void;
4462
4544
  isLastUsedWidget: boolean;
@@ -4470,7 +4552,6 @@ declare const InteractiveGraph: {
4470
4552
  problemNum: number | null | undefined;
4471
4553
  apiOptions: Readonly<Readonly<{
4472
4554
  isArticle?: boolean | undefined;
4473
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4474
4555
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4475
4556
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4476
4557
  showAlignmentOptions?: boolean | undefined;
@@ -4517,6 +4598,10 @@ declare const InteractiveGraph: {
4517
4598
  } & {
4518
4599
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4519
4600
  "locked-point-labels"?: boolean | undefined;
4601
+ "locked-line-labels"?: boolean | undefined;
4602
+ "locked-vector-labels"?: boolean | undefined;
4603
+ "locked-ellipse-labels"?: boolean | undefined;
4604
+ "locked-function-labels"?: boolean | undefined;
4520
4605
  }) | undefined;
4521
4606
  } | undefined;
4522
4607
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4532,7 +4617,6 @@ declare const InteractiveGraph: {
4532
4617
  isArticle: NonNullable<boolean | undefined>;
4533
4618
  isMobile: NonNullable<boolean | undefined>;
4534
4619
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4535
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4536
4620
  readOnly: NonNullable<boolean | undefined>;
4537
4621
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4538
4622
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4542,7 +4626,7 @@ declare const InteractiveGraph: {
4542
4626
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4543
4627
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4544
4628
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4545
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4629
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4546
4630
  onChange: import("@khanacademy/perseus").ChangeHandler;
4547
4631
  trackInteraction: (extraData?: Empty | undefined) => void;
4548
4632
  isLastUsedWidget: boolean;
@@ -4556,7 +4640,6 @@ declare const InteractiveGraph: {
4556
4640
  problemNum: number | null | undefined;
4557
4641
  apiOptions: Readonly<Readonly<{
4558
4642
  isArticle?: boolean | undefined;
4559
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4560
4643
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4561
4644
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4562
4645
  showAlignmentOptions?: boolean | undefined;
@@ -4603,6 +4686,10 @@ declare const InteractiveGraph: {
4603
4686
  } & {
4604
4687
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4605
4688
  "locked-point-labels"?: boolean | undefined;
4689
+ "locked-line-labels"?: boolean | undefined;
4690
+ "locked-vector-labels"?: boolean | undefined;
4691
+ "locked-ellipse-labels"?: boolean | undefined;
4692
+ "locked-function-labels"?: boolean | undefined;
4606
4693
  }) | undefined;
4607
4694
  } | undefined;
4608
4695
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4618,7 +4705,6 @@ declare const InteractiveGraph: {
4618
4705
  isArticle: NonNullable<boolean | undefined>;
4619
4706
  isMobile: NonNullable<boolean | undefined>;
4620
4707
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4621
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4622
4708
  readOnly: NonNullable<boolean | undefined>;
4623
4709
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4624
4710
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4628,7 +4714,7 @@ declare const InteractiveGraph: {
4628
4714
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4629
4715
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4630
4716
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4631
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4717
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4632
4718
  onChange: import("@khanacademy/perseus").ChangeHandler;
4633
4719
  trackInteraction: (extraData?: Empty | undefined) => void;
4634
4720
  isLastUsedWidget: boolean;
@@ -4642,7 +4728,6 @@ declare const InteractiveGraph: {
4642
4728
  problemNum: number | null | undefined;
4643
4729
  apiOptions: Readonly<Readonly<{
4644
4730
  isArticle?: boolean | undefined;
4645
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4646
4731
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4647
4732
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4648
4733
  showAlignmentOptions?: boolean | undefined;
@@ -4689,6 +4774,10 @@ declare const InteractiveGraph: {
4689
4774
  } & {
4690
4775
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4691
4776
  "locked-point-labels"?: boolean | undefined;
4777
+ "locked-line-labels"?: boolean | undefined;
4778
+ "locked-vector-labels"?: boolean | undefined;
4779
+ "locked-ellipse-labels"?: boolean | undefined;
4780
+ "locked-function-labels"?: boolean | undefined;
4692
4781
  }) | undefined;
4693
4782
  } | undefined;
4694
4783
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4704,7 +4793,6 @@ declare const InteractiveGraph: {
4704
4793
  isArticle: NonNullable<boolean | undefined>;
4705
4794
  isMobile: NonNullable<boolean | undefined>;
4706
4795
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4707
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4708
4796
  readOnly: NonNullable<boolean | undefined>;
4709
4797
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4710
4798
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4714,7 +4802,7 @@ declare const InteractiveGraph: {
4714
4802
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4715
4803
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4716
4804
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4717
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4805
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4718
4806
  onChange: import("@khanacademy/perseus").ChangeHandler;
4719
4807
  trackInteraction: (extraData?: Empty | undefined) => void;
4720
4808
  isLastUsedWidget: boolean;
@@ -4728,7 +4816,6 @@ declare const InteractiveGraph: {
4728
4816
  problemNum: number | null | undefined;
4729
4817
  apiOptions: Readonly<Readonly<{
4730
4818
  isArticle?: boolean | undefined;
4731
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4732
4819
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4733
4820
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4734
4821
  showAlignmentOptions?: boolean | undefined;
@@ -4775,6 +4862,10 @@ declare const InteractiveGraph: {
4775
4862
  } & {
4776
4863
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4777
4864
  "locked-point-labels"?: boolean | undefined;
4865
+ "locked-line-labels"?: boolean | undefined;
4866
+ "locked-vector-labels"?: boolean | undefined;
4867
+ "locked-ellipse-labels"?: boolean | undefined;
4868
+ "locked-function-labels"?: boolean | undefined;
4778
4869
  }) | undefined;
4779
4870
  } | undefined;
4780
4871
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4790,7 +4881,6 @@ declare const InteractiveGraph: {
4790
4881
  isArticle: NonNullable<boolean | undefined>;
4791
4882
  isMobile: NonNullable<boolean | undefined>;
4792
4883
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4793
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4794
4884
  readOnly: NonNullable<boolean | undefined>;
4795
4885
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4796
4886
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4800,7 +4890,7 @@ declare const InteractiveGraph: {
4800
4890
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4801
4891
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4802
4892
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4803
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4893
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4804
4894
  onChange: import("@khanacademy/perseus").ChangeHandler;
4805
4895
  trackInteraction: (extraData?: Empty | undefined) => void;
4806
4896
  isLastUsedWidget: boolean;
@@ -4814,7 +4904,6 @@ declare const InteractiveGraph: {
4814
4904
  problemNum: number | null | undefined;
4815
4905
  apiOptions: Readonly<Readonly<{
4816
4906
  isArticle?: boolean | undefined;
4817
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4818
4907
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4819
4908
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4820
4909
  showAlignmentOptions?: boolean | undefined;
@@ -4861,6 +4950,10 @@ declare const InteractiveGraph: {
4861
4950
  } & {
4862
4951
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4863
4952
  "locked-point-labels"?: boolean | undefined;
4953
+ "locked-line-labels"?: boolean | undefined;
4954
+ "locked-vector-labels"?: boolean | undefined;
4955
+ "locked-ellipse-labels"?: boolean | undefined;
4956
+ "locked-function-labels"?: boolean | undefined;
4864
4957
  }) | undefined;
4865
4958
  } | undefined;
4866
4959
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4876,7 +4969,6 @@ declare const InteractiveGraph: {
4876
4969
  isArticle: NonNullable<boolean | undefined>;
4877
4970
  isMobile: NonNullable<boolean | undefined>;
4878
4971
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4879
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4880
4972
  readOnly: NonNullable<boolean | undefined>;
4881
4973
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4882
4974
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4886,7 +4978,7 @@ declare const InteractiveGraph: {
4886
4978
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4887
4979
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4888
4980
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4889
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
4981
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4890
4982
  onChange: import("@khanacademy/perseus").ChangeHandler;
4891
4983
  trackInteraction: (extraData?: Empty | undefined) => void;
4892
4984
  isLastUsedWidget: boolean;
@@ -4900,7 +4992,6 @@ declare const InteractiveGraph: {
4900
4992
  problemNum: number | null | undefined;
4901
4993
  apiOptions: Readonly<Readonly<{
4902
4994
  isArticle?: boolean | undefined;
4903
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4904
4995
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4905
4996
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4906
4997
  showAlignmentOptions?: boolean | undefined;
@@ -4947,6 +5038,10 @@ declare const InteractiveGraph: {
4947
5038
  } & {
4948
5039
  "interactive-graph-locked-features-labels"?: boolean | undefined;
4949
5040
  "locked-point-labels"?: boolean | undefined;
5041
+ "locked-line-labels"?: boolean | undefined;
5042
+ "locked-vector-labels"?: boolean | undefined;
5043
+ "locked-ellipse-labels"?: boolean | undefined;
5044
+ "locked-function-labels"?: boolean | undefined;
4950
5045
  }) | undefined;
4951
5046
  } | undefined;
4952
5047
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -4962,7 +5057,6 @@ declare const InteractiveGraph: {
4962
5057
  isArticle: NonNullable<boolean | undefined>;
4963
5058
  isMobile: NonNullable<boolean | undefined>;
4964
5059
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
4965
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
4966
5060
  readOnly: NonNullable<boolean | undefined>;
4967
5061
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
4968
5062
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -4972,7 +5066,7 @@ declare const InteractiveGraph: {
4972
5066
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4973
5067
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
4974
5068
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
4975
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
5069
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
4976
5070
  onChange: import("@khanacademy/perseus").ChangeHandler;
4977
5071
  trackInteraction: (extraData?: Empty | undefined) => void;
4978
5072
  isLastUsedWidget: boolean;
@@ -4986,7 +5080,6 @@ declare const InteractiveGraph: {
4986
5080
  problemNum: number | null | undefined;
4987
5081
  apiOptions: Readonly<Readonly<{
4988
5082
  isArticle?: boolean | undefined;
4989
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
4990
5083
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
4991
5084
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
4992
5085
  showAlignmentOptions?: boolean | undefined;
@@ -5033,6 +5126,10 @@ declare const InteractiveGraph: {
5033
5126
  } & {
5034
5127
  "interactive-graph-locked-features-labels"?: boolean | undefined;
5035
5128
  "locked-point-labels"?: boolean | undefined;
5129
+ "locked-line-labels"?: boolean | undefined;
5130
+ "locked-vector-labels"?: boolean | undefined;
5131
+ "locked-ellipse-labels"?: boolean | undefined;
5132
+ "locked-function-labels"?: boolean | undefined;
5036
5133
  }) | undefined;
5037
5134
  } | undefined;
5038
5135
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -5048,7 +5145,6 @@ declare const InteractiveGraph: {
5048
5145
  isArticle: NonNullable<boolean | undefined>;
5049
5146
  isMobile: NonNullable<boolean | undefined>;
5050
5147
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
5051
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
5052
5148
  readOnly: NonNullable<boolean | undefined>;
5053
5149
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
5054
5150
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -5058,7 +5154,7 @@ declare const InteractiveGraph: {
5058
5154
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5059
5155
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5060
5156
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
5061
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
5157
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
5062
5158
  onChange: import("@khanacademy/perseus").ChangeHandler;
5063
5159
  trackInteraction: (extraData?: Empty | undefined) => void;
5064
5160
  isLastUsedWidget: boolean;
@@ -5072,7 +5168,6 @@ declare const InteractiveGraph: {
5072
5168
  problemNum: number | null | undefined;
5073
5169
  apiOptions: Readonly<Readonly<{
5074
5170
  isArticle?: boolean | undefined;
5075
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
5076
5171
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
5077
5172
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
5078
5173
  showAlignmentOptions?: boolean | undefined;
@@ -5119,6 +5214,10 @@ declare const InteractiveGraph: {
5119
5214
  } & {
5120
5215
  "interactive-graph-locked-features-labels"?: boolean | undefined;
5121
5216
  "locked-point-labels"?: boolean | undefined;
5217
+ "locked-line-labels"?: boolean | undefined;
5218
+ "locked-vector-labels"?: boolean | undefined;
5219
+ "locked-ellipse-labels"?: boolean | undefined;
5220
+ "locked-function-labels"?: boolean | undefined;
5122
5221
  }) | undefined;
5123
5222
  } | undefined;
5124
5223
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -5134,7 +5233,6 @@ declare const InteractiveGraph: {
5134
5233
  isArticle: NonNullable<boolean | undefined>;
5135
5234
  isMobile: NonNullable<boolean | undefined>;
5136
5235
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
5137
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
5138
5236
  readOnly: NonNullable<boolean | undefined>;
5139
5237
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
5140
5238
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -5144,7 +5242,7 @@ declare const InteractiveGraph: {
5144
5242
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5145
5243
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5146
5244
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
5147
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
5245
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
5148
5246
  onChange: import("@khanacademy/perseus").ChangeHandler;
5149
5247
  trackInteraction: (extraData?: Empty | undefined) => void;
5150
5248
  isLastUsedWidget: boolean;
@@ -5158,7 +5256,6 @@ declare const InteractiveGraph: {
5158
5256
  problemNum: number | null | undefined;
5159
5257
  apiOptions: Readonly<Readonly<{
5160
5258
  isArticle?: boolean | undefined;
5161
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
5162
5259
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
5163
5260
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
5164
5261
  showAlignmentOptions?: boolean | undefined;
@@ -5205,6 +5302,10 @@ declare const InteractiveGraph: {
5205
5302
  } & {
5206
5303
  "interactive-graph-locked-features-labels"?: boolean | undefined;
5207
5304
  "locked-point-labels"?: boolean | undefined;
5305
+ "locked-line-labels"?: boolean | undefined;
5306
+ "locked-vector-labels"?: boolean | undefined;
5307
+ "locked-ellipse-labels"?: boolean | undefined;
5308
+ "locked-function-labels"?: boolean | undefined;
5208
5309
  }) | undefined;
5209
5310
  } | undefined;
5210
5311
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -5220,7 +5321,6 @@ declare const InteractiveGraph: {
5220
5321
  isArticle: NonNullable<boolean | undefined>;
5221
5322
  isMobile: NonNullable<boolean | undefined>;
5222
5323
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
5223
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
5224
5324
  readOnly: NonNullable<boolean | undefined>;
5225
5325
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
5226
5326
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -5230,7 +5330,7 @@ declare const InteractiveGraph: {
5230
5330
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5231
5331
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5232
5332
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
5233
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
5333
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
5234
5334
  onChange: import("@khanacademy/perseus").ChangeHandler;
5235
5335
  trackInteraction: (extraData?: Empty | undefined) => void;
5236
5336
  isLastUsedWidget: boolean;
@@ -5244,7 +5344,6 @@ declare const InteractiveGraph: {
5244
5344
  problemNum: number | null | undefined;
5245
5345
  apiOptions: Readonly<Readonly<{
5246
5346
  isArticle?: boolean | undefined;
5247
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
5248
5347
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
5249
5348
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
5250
5349
  showAlignmentOptions?: boolean | undefined;
@@ -5291,6 +5390,10 @@ declare const InteractiveGraph: {
5291
5390
  } & {
5292
5391
  "interactive-graph-locked-features-labels"?: boolean | undefined;
5293
5392
  "locked-point-labels"?: boolean | undefined;
5393
+ "locked-line-labels"?: boolean | undefined;
5394
+ "locked-vector-labels"?: boolean | undefined;
5395
+ "locked-ellipse-labels"?: boolean | undefined;
5396
+ "locked-function-labels"?: boolean | undefined;
5294
5397
  }) | undefined;
5295
5398
  } | undefined;
5296
5399
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -5306,7 +5409,6 @@ declare const InteractiveGraph: {
5306
5409
  isArticle: NonNullable<boolean | undefined>;
5307
5410
  isMobile: NonNullable<boolean | undefined>;
5308
5411
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
5309
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
5310
5412
  readOnly: NonNullable<boolean | undefined>;
5311
5413
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
5312
5414
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -5316,7 +5418,7 @@ declare const InteractiveGraph: {
5316
5418
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5317
5419
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5318
5420
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
5319
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
5421
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
5320
5422
  onChange: import("@khanacademy/perseus").ChangeHandler;
5321
5423
  trackInteraction: (extraData?: Empty | undefined) => void;
5322
5424
  isLastUsedWidget: boolean;
@@ -5330,7 +5432,6 @@ declare const InteractiveGraph: {
5330
5432
  problemNum: number | null | undefined;
5331
5433
  apiOptions: Readonly<Readonly<{
5332
5434
  isArticle?: boolean | undefined;
5333
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
5334
5435
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
5335
5436
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
5336
5437
  showAlignmentOptions?: boolean | undefined;
@@ -5377,6 +5478,10 @@ declare const InteractiveGraph: {
5377
5478
  } & {
5378
5479
  "interactive-graph-locked-features-labels"?: boolean | undefined;
5379
5480
  "locked-point-labels"?: boolean | undefined;
5481
+ "locked-line-labels"?: boolean | undefined;
5482
+ "locked-vector-labels"?: boolean | undefined;
5483
+ "locked-ellipse-labels"?: boolean | undefined;
5484
+ "locked-function-labels"?: boolean | undefined;
5380
5485
  }) | undefined;
5381
5486
  } | undefined;
5382
5487
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -5392,7 +5497,6 @@ declare const InteractiveGraph: {
5392
5497
  isArticle: NonNullable<boolean | undefined>;
5393
5498
  isMobile: NonNullable<boolean | undefined>;
5394
5499
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
5395
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
5396
5500
  readOnly: NonNullable<boolean | undefined>;
5397
5501
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
5398
5502
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -5402,14 +5506,14 @@ declare const InteractiveGraph: {
5402
5506
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5403
5507
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5404
5508
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
5405
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
5509
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
5406
5510
  onChange: import("@khanacademy/perseus").ChangeHandler;
5407
5511
  trackInteraction: (extraData?: Empty | undefined) => void;
5408
5512
  isLastUsedWidget: boolean;
5409
5513
  linterContext: import("@khanacademy/perseus-linter").LinterContextProps;
5410
5514
  containerSizeClass: SizingUtils.SizeClass;
5411
5515
  }): string;
5412
- 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;
5413
5517
  getUserInputFromProps(props: PerseusInteractiveGraphWidgetOptions & {
5414
5518
  widgetId: string;
5415
5519
  alignment: string | null | undefined;
@@ -5417,7 +5521,6 @@ declare const InteractiveGraph: {
5417
5521
  problemNum: number | null | undefined;
5418
5522
  apiOptions: Readonly<Readonly<{
5419
5523
  isArticle?: boolean | undefined;
5420
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
5421
5524
  onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
5422
5525
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
5423
5526
  showAlignmentOptions?: boolean | undefined;
@@ -5464,6 +5567,10 @@ declare const InteractiveGraph: {
5464
5567
  } & {
5465
5568
  "interactive-graph-locked-features-labels"?: boolean | undefined;
5466
5569
  "locked-point-labels"?: boolean | undefined;
5570
+ "locked-line-labels"?: boolean | undefined;
5571
+ "locked-vector-labels"?: boolean | undefined;
5572
+ "locked-ellipse-labels"?: boolean | undefined;
5573
+ "locked-function-labels"?: boolean | undefined;
5467
5574
  }) | undefined;
5468
5575
  } | undefined;
5469
5576
  onWidgetStartProps?: ((widgets: import("@khanacademy/perseus").PerseusWidgetsMap) => void) | undefined;
@@ -5479,7 +5586,6 @@ declare const InteractiveGraph: {
5479
5586
  isArticle: NonNullable<boolean | undefined>;
5480
5587
  isMobile: NonNullable<boolean | undefined>;
5481
5588
  onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
5482
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
5483
5589
  readOnly: NonNullable<boolean | undefined>;
5484
5590
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
5485
5591
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -5489,7 +5595,7 @@ declare const InteractiveGraph: {
5489
5595
  onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5490
5596
  onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
5491
5597
  findWidgets: (arg1: import("../../../../perseus/src/types").FilterCriterion) => readonly any[];
5492
- reviewModeRubric: import("../../../../perseus/src/widgets/interactive-graph").Rubric;
5598
+ reviewModeRubric: import("../../../../perseus/src/validation.types").PerseusInteractiveGraphRubric;
5493
5599
  onChange: import("@khanacademy/perseus").ChangeHandler;
5494
5600
  trackInteraction: (extraData?: Empty | undefined) => void;
5495
5601
  isLastUsedWidget: boolean;