import { z } from "zod"; import { FeedbackPlanSchema } from "../../core/feedback"; import type { AssessmentItemShell, ResponseDeclaration } from "../../core/item/types"; export declare const ResponseDeclarationSchema: z.ZodType; export declare function createAssessmentItemShellSchema(widgetTypeKeys: E): z.ZodType>; export declare function createDynamicAssessmentItemSchema(widgetMapping: Record, widgetTypeKeys: E, widgetSchemas: Record>, feedbackPlan: z.infer): { AssessmentItemSchema: z.ZodPipe>>; body: z.ZodNullable; content: z.ZodArray; content: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"math">; mathml: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"inlineWidgetRef">; widgetId: z.ZodString; widgetType: z.ZodEnum<{ [k_1 in E[number]]: k_1; } extends infer T ? { [k in keyof T]: T[k]; } : never>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"inlineInteractionRef">; interactionId: z.ZodString; }, z.core.$strict>], "type">>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"unorderedList">; items: z.ZodArray; content: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"math">; mathml: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"inlineWidgetRef">; widgetId: z.ZodString; widgetType: z.ZodEnum<{ [k_1 in E[number]]: k_1; } extends infer T_1 ? { [k in keyof T_1]: T_1[k]; } : never>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"inlineInteractionRef">; interactionId: z.ZodString; }, z.core.$strict>], "type">>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"orderedList">; items: z.ZodArray; content: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"math">; mathml: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"inlineWidgetRef">; widgetId: z.ZodString; widgetType: z.ZodEnum<{ [k_1 in E[number]]: k_1; } extends infer T_2 ? { [k in keyof T_2]: T_2[k]; } : never>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"inlineInteractionRef">; interactionId: z.ZodString; }, z.core.$strict>], "type">>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"tableRich">; header: z.ZodNullable; content: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"math">; mathml: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"inlineWidgetRef">; widgetId: z.ZodString; widgetType: z.ZodEnum<{ [k_1 in E[number]]: k_1; } extends infer T_3 ? { [k in keyof T_3]: T_3[k]; } : never>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"inlineInteractionRef">; interactionId: z.ZodString; }, z.core.$strict>], "type">>>>>>; rows: z.ZodArray; content: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"math">; mathml: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"inlineWidgetRef">; widgetId: z.ZodString; widgetType: z.ZodEnum<{ [k_1 in E[number]]: k_1; } extends infer T_4 ? { [k in keyof T_4]: T_4[k]; } : never>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"inlineInteractionRef">; interactionId: z.ZodString; }, z.core.$strict>], "type">>>>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"blockquote">; content: z.ZodArray; content: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"math">; mathml: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"inlineWidgetRef">; widgetId: z.ZodString; widgetType: z.ZodEnum<{ [k_1 in E[number]]: k_1; } extends infer T_5 ? { [k in keyof T_5]: T_5[k]; } : never>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"inlineInteractionRef">; interactionId: z.ZodString; }, z.core.$strict>], "type">>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"widgetRef">; widgetId: z.ZodString; widgetType: z.ZodEnum<{ [k_1 in E[number]]: k_1; } extends infer T_6 ? { [k in keyof T_6]: T_6[k]; } : never>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"interactionRef">; interactionId: z.ZodString; }, z.core.$strict>], "type">>>; widgets: z.ZodNullable; width: z.ZodNumber; height: z.ZodNumber; solid: z.ZodObject<{ type: z.ZodEnum<{ rectangularPrism: "rectangularPrism"; pentagonalPrism: "pentagonalPrism"; octagonalPrism: "octagonalPrism"; squarePyramid: "squarePyramid"; cylinder: "cylinder"; cone: "cone"; sphere: "sphere"; }>; }, z.core.$strict>; plane: z.ZodDiscriminatedUnion<[z.ZodObject<{ orientation: z.ZodLiteral<"horizontal">; position: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ orientation: z.ZodLiteral<"vertical">; position: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ orientation: z.ZodLiteral<"oblique">; position: z.ZodNumber; angle: z.ZodNumber; }, z.core.$strict>], "orientation">; viewOptions: z.ZodObject<{ projectionAngle: z.ZodNumber; intersectionColor: z.ZodString; showHiddenEdges: z.ZodBoolean; showLabels: z.ZodBoolean; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"quadrantDiagram">; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"clockDiagram">; width: z.ZodNumber; height: z.ZodNumber; hour: z.ZodNumber; minute: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"angleDiagram">; width: z.ZodNumber; height: z.ZodNumber; points: z.ZodArray, z.ZodTransform>; shape: z.ZodEnum<{ circle: "circle"; ellipse: "ellipse"; }>; }, z.core.$strict>>; rays: z.ZodArray>; angles: z.ZodArray; pointOnFirstRay: z.ZodString; vertex: z.ZodString; pointOnSecondRay: z.ZodString; label: z.ZodPipe, z.ZodTransform>; color: z.ZodString; radius: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"right">; pointOnFirstRay: z.ZodString; vertex: z.ZodString; pointOnSecondRay: z.ZodString; label: z.ZodPipe, z.ZodTransform>; color: z.ZodString; }, z.core.$strict>], "type">>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"angleTypeDiagram">; width: z.ZodNumber; height: z.ZodNumber; angleType: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"acute">; value: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"right">; value: z.ZodLiteral<90>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"obtuse">; value: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"straight">; value: z.ZodLiteral<180>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"reflex">; value: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"full">; value: z.ZodLiteral<360>; }, z.core.$strict>], "type">; rotation: z.ZodNumber; labels: z.ZodObject<{ ray1Point: z.ZodPipe, z.ZodTransform>; vertex: z.ZodPipe, z.ZodTransform>; ray2Point: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>; showAngleArc: z.ZodBoolean; sectorColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"circleAngleDiagram">; width: z.ZodNumber; height: z.ZodNumber; angle: z.ZodNumber; rotation: z.ZodNumber; labels: z.ZodObject<{ center: z.ZodString; point1: z.ZodString; point2: z.ZodString; }, z.core.$strict>; shadeColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"areaModelMultiplication">; width: z.ZodNumber; height: z.ZodNumber; rowFactors: z.ZodArray; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"unknown">; }, z.core.$strip>], "type">>; columnFactors: z.ZodArray; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"unknown">; }, z.core.$strip>], "type">>; cellContents: z.ZodArray; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"unknown">; }, z.core.$strip>], "type">>>; cellColors: z.ZodArray>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"areaGraph">; width: z.ZodNumber; height: z.ZodNumber; title: z.ZodString; xAxis: z.ZodObject<{ label: z.ZodString; min: z.ZodNumber; max: z.ZodNumber; tickValues: z.ZodArray; }, z.core.$strict>; yAxis: z.ZodObject<{ label: z.ZodString; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; dataPoints: z.ZodArray>; bottomArea: z.ZodObject<{ label: z.ZodString; color: z.ZodString; }, z.core.$strict>; topArea: z.ZodObject<{ label: z.ZodString; color: z.ZodString; }, z.core.$strict>; boundaryLine: z.ZodObject<{ color: z.ZodString; strokeWidth: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"barChart">; width: z.ZodNumber; height: z.ZodNumber; title: z.ZodPipe, z.ZodTransform>; xAxisLabel: z.ZodPipe, z.ZodTransform>; yAxis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; }, z.core.$strict>; data: z.ZodArray; }, z.core.$strict>>; barColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"boxGrid">; width: z.ZodNumber; height: z.ZodNumber; data: z.ZodArray; mathml: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"whole">; value: z.ZodNumber; sign: z.ZodEnum<{ "-": "-"; "+": "+"; }>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"fraction">; numerator: z.ZodNumber; denominator: z.ZodNumber; sign: z.ZodEnum<{ "-": "-"; "+": "+"; }>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"mixed">; whole: z.ZodNumber; numerator: z.ZodNumber; denominator: z.ZodNumber; sign: z.ZodEnum<{ "-": "-"; "+": "+"; }>; }, z.core.$strict>], "type">; backgroundColor: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>>>; showGridLines: z.ZodBoolean; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"boxPlot">; width: z.ZodNumber; height: z.ZodNumber; axis: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; label: z.ZodPipe, z.ZodTransform>; tickLabels: z.ZodArray; }, z.core.$strict>; summary: z.ZodObject<{ min: z.ZodNumber; q1: z.ZodNumber; median: z.ZodNumber; q3: z.ZodNumber; max: z.ZodNumber; }, z.core.$strict>; boxColor: z.ZodString; medianColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"circleDiagram">; shape: z.ZodEnum<{ circle: "circle"; semicircle: "semicircle"; "quarter-circle": "quarter-circle"; }>; rotation: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; radius: z.ZodNumber; fillColor: z.ZodString; strokeColor: z.ZodString; innerRadius: z.ZodNullable; annulusFillColor: z.ZodNullable; segments: z.ZodArray; label: z.ZodPipe, z.ZodTransform>; color: z.ZodString; angle: z.ZodNumber; }, z.core.$strict>>; sectors: z.ZodArray, z.ZodTransform>; showRightAngleMarker: z.ZodBoolean; }, z.core.$strict>>; arcs: z.ZodArray, z.ZodTransform>; }, z.core.$strict>>; showCenterDot: z.ZodBoolean; areaLabel: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"fractionModelDiagram">; width: z.ZodNumber; height: z.ZodNumber; shapeType: z.ZodEnum<{ circle: "circle"; polygon: "polygon"; box: "box"; }>; shapes: z.ZodArray>; operators: z.ZodNullable": ">"; "=": "="; }>>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"fractionMultiplicationModel">; width: z.ZodNumber; height: z.ZodNumber; leftOperand: z.ZodObject<{ shape: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"rectangle">; rows: z.ZodNumber; columns: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"circle">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"polygon">; sides: z.ZodNumber; rotation: z.ZodNumber; }, z.core.$strip>], "type">; totalParts: z.ZodNumber; shadedParts: z.ZodNumber; shadeColor: z.ZodString; }, z.core.$strip>; middleTerm: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"placeholder">; }, z.core.$strip>], "type">; rightOperand: z.ZodObject<{ shape: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"rectangle">; rows: z.ZodNumber; columns: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"circle">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"polygon">; sides: z.ZodNumber; rotation: z.ZodNumber; }, z.core.$strip>], "type">; totalParts: z.ZodNumber; shadedParts: z.ZodNumber; shadeColor: z.ZodString; }, z.core.$strip>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"compositeShapeDiagram">; width: z.ZodNumber; height: z.ZodNumber; vertices: z.ZodArray>; boundaryEdges: z.ZodArray; from: z.ZodString; to: z.ZodString; label: z.ZodNullable; unit: z.ZodNullable; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"partitioned">; path: z.ZodArray; segments: z.ZodArray; unit: z.ZodNullable; }, z.core.$strict>>; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; }>; }, z.core.$strict>>; }, z.core.$strict>], "type">>; shapes: z.ZodNullable; vertexIds: z.ZodArray; }, z.core.$strict>, z.ZodObject<{ id: z.ZodString; type: z.ZodLiteral<"circle">; centerId: z.ZodString; radius: z.ZodNumber; }, z.core.$strict>], "type">>>; internalSegments: z.ZodNullable; label: z.ZodNullable; unit: z.ZodNullable; }, z.core.$strict>>; }, z.core.$strict>>>; shadedRegions: z.ZodNullable; fillColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ fillColor: z.ZodString; path: z.ZodArray; }, z.core.$strict>>; }, z.core.$strict>]>>>; regionLabels: z.ZodNullable; }, z.core.$strict>>>; rightAngleMarkers: z.ZodNullable>>; fit: z.ZodNullable>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"conceptualGraph">; width: z.ZodNumber; height: z.ZodNumber; xAxisLabel: z.ZodString; yAxisLabel: z.ZodString; curvePoints: z.ZodArray>; curveColor: z.ZodString; highlightPoints: z.ZodArray>; highlightPointColor: z.ZodString; highlightPointRadius: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"coordinatePlane">; width: z.ZodNumber; height: z.ZodNumber; xAxis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; yAxis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; showQuadrantLabels: z.ZodBoolean; points: z.ZodArray; }, z.core.$strict>>; lines: z.ZodArray; slope: z.ZodNumber; yIntercept: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"standard">; A: z.ZodNumber; B: z.ZodNumber; C: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"pointSlope">; x1: z.ZodNumber; y1: z.ZodNumber; slope: z.ZodNumber; }, z.core.$strict>], "type">; color: z.ZodString; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; }>; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>>; polygons: z.ZodArray; isClosed: z.ZodBoolean; fillColor: z.ZodString; strokeColor: z.ZodString; label: z.ZodString; }, z.core.$strict>>; distances: z.ZodArray; }, z.core.$strict>>; polylines: z.ZodArray; id: z.ZodString; points: z.ZodArray>; color: z.ZodString; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; }>; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"function">; id: z.ZodString; coefficients: z.ZodArray; xRange: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; }, z.core.$strip>; color: z.ZodString; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; }>; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>], "type">>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"dataTable">; caption: z.ZodNullable; headers: z.ZodArray]>>; rows: z.ZodArray]>>>>; rowHeaders: z.ZodBoolean; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"divergentBarChart">; width: z.ZodNumber; height: z.ZodNumber; xAxisLabel: z.ZodString; yAxis: z.ZodObject<{ label: z.ZodString; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; }, z.core.$strict>; data: z.ZodArray>; positiveBarColor: z.ZodString; negativeBarColor: z.ZodString; gridColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"functionPlotGraph">; width: z.ZodNumber; height: z.ZodNumber; xAxis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; yAxis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; showQuadrantLabels: z.ZodBoolean; polylines: z.ZodArray; id: z.ZodString; points: z.ZodArray>; color: z.ZodString; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; }>; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"function">; id: z.ZodString; coefficients: z.ZodArray; xRange: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; }, z.core.$strip>; color: z.ZodString; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; }>; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>], "type">>; points: z.ZodArray; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"lineEquationGraph">; width: z.ZodNumber; height: z.ZodNumber; xAxis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; yAxis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; showQuadrantLabels: z.ZodBoolean; lines: z.ZodArray; slope: z.ZodNumber; yIntercept: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"standard">; A: z.ZodNumber; B: z.ZodNumber; C: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"pointSlope">; x1: z.ZodNumber; y1: z.ZodNumber; slope: z.ZodNumber; }, z.core.$strict>], "type">; color: z.ZodString; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; }>; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>>; points: z.ZodArray; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"pointPlotGraph">; width: z.ZodNumber; height: z.ZodNumber; xAxis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; yAxis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; showQuadrantLabels: z.ZodBoolean; points: z.ZodArray; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"populationChangeEventGraph">; width: z.ZodNumber; height: z.ZodNumber; xAxisLabel: z.ZodString; yAxisLabel: z.ZodString; xAxisMin: z.ZodNumber; xAxisMax: z.ZodNumber; yAxisMin: z.ZodNumber; yAxisMax: z.ZodNumber; beforeSegment: z.ZodObject<{ points: z.ZodArray>; color: z.ZodString; label: z.ZodString; }, z.core.$strip>; afterSegment: z.ZodObject<{ points: z.ZodArray>; color: z.ZodString; label: z.ZodString; }, z.core.$strip>; showLegend: z.ZodBoolean; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"polygonGraph">; width: z.ZodNumber; height: z.ZodNumber; xAxis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; yAxis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; showQuadrantLabels: z.ZodBoolean; points: z.ZodArray; }, z.core.$strict>>; polygons: z.ZodArray; isClosed: z.ZodBoolean; fillColor: z.ZodString; strokeColor: z.ZodString; label: z.ZodString; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"protractorAngleDiagram">; width: z.ZodNumber; height: z.ZodNumber; startingReading: z.ZodNumber; angleDegrees: z.ZodNumber; startPointLabel: z.ZodString; centerPointLabel: z.ZodString; endPointLabel: z.ZodString; hideEndRay: z.ZodBoolean; hideSector: z.ZodBoolean; arcLabels: z.ZodArray>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"radiallyConstrainedAngleDiagram">; width: z.ZodNumber; height: z.ZodNumber; centerLabel: z.ZodPipe, z.ZodTransform>; rayLabels: z.ZodArray; angles: z.ZodArray>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"shapeTransformationGraph">; width: z.ZodNumber; height: z.ZodNumber; xAxis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; yAxis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; showQuadrantLabels: z.ZodBoolean; preImage: z.ZodObject<{ vertices: z.ZodArray>; color: z.ZodString; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>; transformation: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"translation">; vector: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"reflection">; axis: z.ZodEnum<{ x: "x"; y: "y"; }>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"rotation">; center: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strict>; angle: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"dilation">; center: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strict>; scaleFactor: z.ZodNumber; }, z.core.$strict>], "type">; points: z.ZodArray; }, z.core.$strict>>; lines: z.ZodNullable; slope: z.ZodNumber; yIntercept: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"standard">; A: z.ZodNumber; B: z.ZodNumber; C: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"pointSlope">; x1: z.ZodNumber; y1: z.ZodNumber; slope: z.ZodNumber; }, z.core.$strict>], "type">; color: z.ZodString; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; }>; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"integerChipModel">; width: z.ZodNumber; height: z.ZodNumber; chips: z.ZodArray; crossedOut: z.ZodBoolean; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"integerChipLegend">; positiveChipLabel: z.ZodString; negativeChipLabel: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"discreteObjectRatioDiagram">; width: z.ZodNumber; height: z.ZodNumber; objects: z.ZodArray>; title: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"dotPlot">; width: z.ZodNumber; height: z.ZodNumber; axis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; }, z.core.$strict>; data: z.ZodArray>; dotColor: z.ZodString; dotRadius: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"doubleNumberLine">; width: z.ZodNumber; height: z.ZodNumber; topLine: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; ticks: z.ZodArray>; }, z.core.$strict>; bottomLine: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; ticks: z.ZodArray>; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"populationBarChart">; width: z.ZodNumber; height: z.ZodNumber; xAxisLabel: z.ZodString; yAxis: z.ZodObject<{ label: z.ZodString; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; }, z.core.$strict>; xAxisVisibleLabels: z.ZodArray; data: z.ZodArray>; barColor: z.ZodString; gridColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"emojiImage">; emoji: z.ZodString; size: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"figureComparisonDiagram">; width: z.ZodNumber; height: z.ZodNumber; figures: z.ZodArray>; fillColor: z.ZodString; strokeColor: z.ZodString; strokeWidth: z.ZodNumber; sideLabels: z.ZodArray, z.ZodTransform>>; sideLabelOffset: z.ZodNumber; figureLabel: z.ZodObject<{ text: z.ZodString; position: z.ZodEnum<{ right: "right"; bottom: "bottom"; left: "left"; center: "center"; top: "top"; }>; offset: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>>; layout: z.ZodEnum<{ vertical: "vertical"; horizontal: "horizontal"; }>; spacing: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"fractionSumDiagram">; width: z.ZodNumber; height: z.ZodNumber; denominator: z.ZodNumber; groups: z.ZodArray>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"geometricPrimitiveDiagram">; width: z.ZodNumber; height: z.ZodNumber; primitive: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"point">; pointOne: z.ZodObject<{ label: z.ZodNullable; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"segment">; pointOne: z.ZodObject<{ label: z.ZodNullable; }, z.core.$strict>; pointTwo: z.ZodObject<{ label: z.ZodNullable; }, z.core.$strict>; rotation: z.ZodNumber; length: z.ZodNullable; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"ray">; pointOne: z.ZodObject<{ label: z.ZodNullable; }, z.core.$strict>; pointTwo: z.ZodObject<{ label: z.ZodNullable; }, z.core.$strict>; rotation: z.ZodNumber; length: z.ZodNullable; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"line">; pointOne: z.ZodObject<{ label: z.ZodNullable; }, z.core.$strict>; pointTwo: z.ZodObject<{ label: z.ZodNullable; }, z.core.$strict>; rotation: z.ZodNumber; length: z.ZodNullable; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"arc">; pointOne: z.ZodObject<{ label: z.ZodNullable; }, z.core.$strict>; pointTwo: z.ZodObject<{ label: z.ZodNullable; }, z.core.$strict>; rotation: z.ZodNumber; length: z.ZodNullable; bulge: z.ZodNumber; }, z.core.$strict>], "type">; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"geometricSolidDiagram">; width: z.ZodNumber; height: z.ZodNumber; shape: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"cylinder">; radiusLabel: z.ZodNullable; heightLabel: z.ZodNullable; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"cone">; radiusLabel: z.ZodNullable; heightLabel: z.ZodNullable; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"sphere">; radiusLabel: z.ZodNullable; }, z.core.$strict>], "type">; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"hangerDiagram">; width: z.ZodNumber; height: z.ZodNumber; leftSide: z.ZodArray>, z.ZodTransform>; shape: z.ZodEnum<{ square: "square"; circle: "circle"; pentagon: "pentagon"; hexagon: "hexagon"; triangle: "triangle"; }>; backgroundColor: z.ZodString; }, z.core.$strict>>; rightSide: z.ZodArray>, z.ZodTransform>; shape: z.ZodEnum<{ square: "square"; circle: "circle"; pentagon: "pentagon"; hexagon: "hexagon"; triangle: "triangle"; }>; backgroundColor: z.ZodString; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"histogram">; width: z.ZodNumber; height: z.ZodNumber; title: z.ZodString; xAxis: z.ZodObject<{ label: z.ZodString; }, z.core.$strict>; yAxis: z.ZodObject<{ label: z.ZodString; max: z.ZodNumber; tickInterval: z.ZodNumber; }, z.core.$strict>; separators: z.ZodArray; bins: z.ZodArray>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"nPolygon">; width: z.ZodNumber; height: z.ZodNumber; polygons: z.ZodArray; fillColor: z.ZodString; sideLabels: z.ZodNullable; unit: z.ZodNullable; }, z.core.$strict>; }, z.core.$strict>>>; }, z.core.$strip>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"patternDiagram">; width: z.ZodNumber; height: z.ZodNumber; items: z.ZodArray; shape: z.ZodEnum<{ square: "square"; circle: "circle"; rectangle: "rectangle"; pentagon: "pentagon"; hexagon: "hexagon"; triangle: "triangle"; heptagon: "heptagon"; octagon: "octagon"; }>; fillColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"placeholder">; }, z.core.$strict>], "type">>; shapeSize: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"inequalityNumberLine">; width: z.ZodNumber; height: z.ZodNumber; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; ranges: z.ZodArray; at: z.ZodObject<{ value: z.ZodNumber; type: z.ZodEnum<{ open: "open"; closed: "closed"; }>; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"unbounded">; }, z.core.$strict>], "type">; end: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"bounded">; at: z.ZodObject<{ value: z.ZodNumber; type: z.ZodEnum<{ open: "open"; closed: "closed"; }>; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"unbounded">; }, z.core.$strict>], "type">; color: z.ZodString; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"keelingCurve">; width: z.ZodNumber; height: z.ZodNumber; xAxisLabel: z.ZodString; yAxisLabel: z.ZodString; annotations: z.ZodArray; }, z.core.$strip>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"lineGraph">; width: z.ZodNumber; height: z.ZodNumber; title: z.ZodString; xAxis: z.ZodObject<{ label: z.ZodString; categories: z.ZodArray; }, z.core.$strict>; yAxis: z.ZodObject<{ label: z.ZodString; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; yAxisRight: z.ZodUnion, z.ZodNull]>; series: z.ZodArray; color: z.ZodString; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; dotted: "dotted"; }>; pointShape: z.ZodEnum<{ square: "square"; circle: "circle"; }>; yAxis: z.ZodEnum<{ right: "right"; left: "left"; }>; }, z.core.$strict>>; showLegend: z.ZodBoolean; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"numberLine">; width: z.ZodNumber; height: z.ZodNumber; orientation: z.ZodEnum<{ vertical: "vertical"; horizontal: "horizontal"; }>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"whole">; interval: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"fraction">; denominator: z.ZodNumber; }, z.core.$strict>], "type">; secondaryTickInterval: z.ZodNullable; interval: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"fraction">; denominator: z.ZodNumber; }, z.core.$strict>], "type">>; showTickLabels: z.ZodBoolean; highlightedPoints: z.ZodNullable; position: z.ZodNumber; color: z.ZodString; style: z.ZodLiteral<"dot">; value: z.ZodNumber; sign: z.ZodEnum<{ "-": "-"; "+": "+"; }>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"fraction">; position: z.ZodNumber; color: z.ZodString; style: z.ZodLiteral<"dot">; numerator: z.ZodNumber; denominator: z.ZodNumber; sign: z.ZodEnum<{ "-": "-"; "+": "+"; }>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"mixed">; position: z.ZodNumber; color: z.ZodString; style: z.ZodLiteral<"dot">; whole: z.ZodNumber; numerator: z.ZodNumber; denominator: z.ZodNumber; sign: z.ZodEnum<{ "-": "-"; "+": "+"; }>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"mathml">; position: z.ZodNumber; color: z.ZodString; style: z.ZodLiteral<"dot">; mathml: z.ZodString; }, z.core.$strict>], "type">>>; segments: z.ZodNullable>>; model: z.ZodNullable>; bracketLabel: z.ZodString; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"numberLineWithAction">; width: z.ZodNumber; height: z.ZodNumber; orientation: z.ZodEnum<{ vertical: "vertical"; horizontal: "horizontal"; }>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"whole">; interval: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"fraction">; numerator: z.ZodLiteral<1>; denominator: z.ZodNumber; }, z.core.$strict>], "type">; secondaryTickInterval: z.ZodNullable; interval: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"fraction">; numerator: z.ZodLiteral<1>; denominator: z.ZodNumber; }, z.core.$strict>], "type">>; startValue: z.ZodNumber; actions: z.ZodArray; value: z.ZodNumber; sign: z.ZodEnum<{ "-": "-"; "+": "+"; }>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"fraction">; numerator: z.ZodNumber; denominator: z.ZodNumber; sign: z.ZodEnum<{ "-": "-"; "+": "+"; }>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"mixed">; whole: z.ZodNumber; numerator: z.ZodNumber; denominator: z.ZodNumber; sign: z.ZodEnum<{ "-": "-"; "+": "+"; }>; }, z.core.$strict>], "type">; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"numberLineWithFractionGroups">; width: z.ZodNumber; height: z.ZodNumber; axis: z.ZodObject<{ lowerBound: z.ZodNumber; upperBound: z.ZodNumber; denominator: z.ZodNumber; }, z.core.$strict>; boxes: z.ZodObject<{ lowerBound: z.ZodNumber; upperBound: z.ZodNumber; fillTo: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"numberSetDiagram">; width: z.ZodNumber; height: z.ZodNumber; sets: z.ZodObject<{ whole: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; color: z.ZodString; }, z.core.$strict>; integer: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; color: z.ZodString; }, z.core.$strict>; rational: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; color: z.ZodString; }, z.core.$strict>; irrational: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; color: z.ZodString; }, z.core.$strict>; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"parabolaGraph">; width: z.ZodNumber; height: z.ZodNumber; xAxis: z.ZodObject<{ label: z.ZodString; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; showTickLabels: z.ZodBoolean; }, z.core.$strict>; yAxis: z.ZodObject<{ label: z.ZodString; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; showTickLabels: z.ZodBoolean; }, z.core.$strict>; parabola: z.ZodObject<{ vertex: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strict>; yIntercept: z.ZodNumber; color: z.ZodString; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; }>; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"pentagonIntersectionDiagram">; width: z.ZodNumber; height: z.ZodNumber; pentagonPoints: z.ZodArray>; intersectionLines: z.ZodArray>; khanArcs: z.ZodArray, z.ZodTransform>; color: z.ZodString; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"pictograph">; title: z.ZodPipe, z.ZodTransform>; key: z.ZodObject<{ icon: z.ZodString; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>; data: z.ZodArray>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"polyhedronDiagram">; width: z.ZodNumber; height: z.ZodNumber; shape: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"rectangularPrism">; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"triangularPrism">; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"rectangularPyramid">; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"triangularPyramid">; }, z.core.$strict>], "type">; labels: z.ZodArray>; segments: z.ZodNullable; index: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"edgeMidpoint">; a: z.ZodNumber; b: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"edgePoint">; a: z.ZodNumber; b: z.ZodNumber; t: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"faceCentroid">; face: z.ZodEnum<{ frontFace: "frontFace"; backFace: "backFace"; leftFace: "leftFace"; rightFace: "rightFace"; topFace: "topFace"; bottomFace: "bottomFace"; baseFace: "baseFace"; }>; }, z.core.$strict>], "type">; to: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"vertex">; index: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"edgeMidpoint">; a: z.ZodNumber; b: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"edgePoint">; a: z.ZodNumber; b: z.ZodNumber; t: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"faceCentroid">; face: z.ZodEnum<{ frontFace: "frontFace"; backFace: "backFace"; leftFace: "leftFace"; rightFace: "rightFace"; topFace: "topFace"; bottomFace: "bottomFace"; baseFace: "baseFace"; }>; }, z.core.$strict>], "type">; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>>>; diagonals: z.ZodArray, z.ZodTransform>; }, z.core.$strict>>; angleMarkers: z.ZodNullable; at: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"vertex">; index: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"edgeMidpoint">; a: z.ZodNumber; b: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"edgePoint">; a: z.ZodNumber; b: z.ZodNumber; t: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"faceCentroid">; face: z.ZodEnum<{ frontFace: "frontFace"; backFace: "backFace"; leftFace: "leftFace"; rightFace: "rightFace"; topFace: "topFace"; bottomFace: "bottomFace"; baseFace: "baseFace"; }>; }, z.core.$strict>], "type">; from: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"vertex">; index: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"edgeMidpoint">; a: z.ZodNumber; b: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"edgePoint">; a: z.ZodNumber; b: z.ZodNumber; t: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"faceCentroid">; face: z.ZodEnum<{ frontFace: "frontFace"; backFace: "backFace"; leftFace: "leftFace"; rightFace: "rightFace"; topFace: "topFace"; bottomFace: "bottomFace"; baseFace: "baseFace"; }>; }, z.core.$strict>], "type">; to: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"vertex">; index: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"edgeMidpoint">; a: z.ZodNumber; b: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"edgePoint">; a: z.ZodNumber; b: z.ZodNumber; t: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"faceCentroid">; face: z.ZodEnum<{ frontFace: "frontFace"; backFace: "backFace"; leftFace: "leftFace"; rightFace: "rightFace"; topFace: "topFace"; bottomFace: "bottomFace"; baseFace: "baseFace"; }>; }, z.core.$strict>], "type">; sizePx: z.ZodNumber; }, z.core.$strict>>>; shadedFace: z.ZodPipe, z.ZodTransform>; showHiddenEdges: z.ZodBoolean; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"probabilitySpinner">; width: z.ZodNumber; height: z.ZodNumber; groups: z.ZodArray, z.ZodTransform>; color: z.ZodString; }, z.core.$strict>>; pointerAngle: z.ZodNumber; title: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"pythagoreanProofDiagram">; width: z.ZodNumber; height: z.ZodNumber; sideA: z.ZodObject<{ label: z.ZodNullable; square: z.ZodNullable; color: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"value">; area: z.ZodNumber; color: z.ZodString; }, z.core.$strict>], "type">>; }, z.core.$strict>; sideB: z.ZodObject<{ label: z.ZodNullable; square: z.ZodNullable; color: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"value">; area: z.ZodNumber; color: z.ZodString; }, z.core.$strict>], "type">>; }, z.core.$strict>; sideC: z.ZodObject<{ label: z.ZodNullable; square: z.ZodNullable; color: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"value">; area: z.ZodNumber; color: z.ZodString; }, z.core.$strict>], "type">>; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"quantityFractionalDiagram">; width: z.ZodNumber; height: z.ZodNumber; shape: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"rectangle">; rows: z.ZodNumber; columns: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"circle">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"polygon">; sides: z.ZodNumber; rotation: z.ZodNumber; }, z.core.$strip>], "type">; numerator: z.ZodNumber; denominator: z.ZodNumber; shadeColor: z.ZodString; shapesPerRow: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"ratioBoxDiagram">; width: z.ZodNumber; height: z.ZodNumber; items: z.ZodArray; }, z.core.$strict>>; itemsPerRow: z.ZodNumber; boxes: z.ZodArray, z.ZodTransform>; }, z.core.$strict>>; partitions: z.ZodNumber; layout: z.ZodEnum<{ sequential: "sequential"; grouped: "grouped"; }>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"rectangularFrameDiagram">; width: z.ZodNumber; height: z.ZodNumber; outerLength: z.ZodNumber; outerWidth: z.ZodNumber; outerHeight: z.ZodNumber; thickness: z.ZodNumber; labels: z.ZodArray>; diagonals: z.ZodArray, z.ZodTransform>; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; dotted: "dotted"; }>; }, z.core.$strict>>; shadedFace: z.ZodPipe, z.ZodTransform>; showHiddenEdges: z.ZodBoolean; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"scaleCopiesSlider">; width: z.ZodNumber; height: z.ZodNumber; shapeA: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; before: z.ZodObject<{ width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>; after: z.ZodObject<{ width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>; color: z.ZodString; }, z.core.$strict>; shapeB: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; before: z.ZodObject<{ width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>; after: z.ZodObject<{ width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>; color: z.ZodString; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"simpleArrow">; width: z.ZodNumber; height: z.ZodNumber; orientation: z.ZodEnum<{ vertical: "vertical"; horizontal: "horizontal"; }>; direction: z.ZodEnum<{ forward: "forward"; backward: "backward"; bidirectional: "bidirectional"; }>; color: z.ZodString; strokeWidth: z.ZodNumber; arrowSize: z.ZodNumber; circles: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"sinCosineWidget">; width: z.ZodNumber; height: z.ZodNumber; xAxis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; yAxis: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; plots: z.ZodArray; color: z.ZodString; strokeWidth: z.ZodNumber; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; }>; }, z.core.$strict>>; points: z.ZodArray; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"scatterPlot">; width: z.ZodNumber; height: z.ZodNumber; title: z.ZodString; xAxis: z.ZodObject<{ label: z.ZodString; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; gridLines: z.ZodBoolean; }, z.core.$strict>; yAxis: z.ZodObject<{ label: z.ZodString; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; gridLines: z.ZodBoolean; }, z.core.$strict>; points: z.ZodArray>; lines: z.ZodArray; method: z.ZodEnum<{ linear: "linear"; quadratic: "quadratic"; exponential: "exponential"; }>; label: z.ZodString; style: z.ZodObject<{ color: z.ZodString; strokeWidth: z.ZodNumber; dash: z.ZodBoolean; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"twoPoints">; a: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strict>; b: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strict>; label: z.ZodString; style: z.ZodObject<{ color: z.ZodString; strokeWidth: z.ZodNumber; dash: z.ZodBoolean; }, z.core.$strict>; }, z.core.$strict>], "type">>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"stackedItemsDiagram">; width: z.ZodNumber; height: z.ZodNumber; altText: z.ZodString; baseItem: z.ZodObject<{ emoji: z.ZodString; size: z.ZodNumber; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>; stackedItem: z.ZodObject<{ emoji: z.ZodString; size: z.ZodNumber; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>; count: z.ZodNumber; orientation: z.ZodEnum<{ vertical: "vertical"; horizontal: "horizontal"; }>; overlap: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"tapeDiagram">; width: z.ZodNumber; height: z.ZodNumber; referenceUnitsTotal: z.ZodNullable; topTape: z.ZodObject<{ label: z.ZodPipe, z.ZodTransform>; unitsTotal: z.ZodNumber; extent: z.ZodNullable; startUnit: z.ZodNumber; endUnit: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ by: z.ZodLiteral<"percent">; startPct: z.ZodNumber; endPct: z.ZodNumber; }, z.core.$strict>], "by">>; grid: z.ZodObject<{ show: z.ZodBoolean; }, z.core.$strict>; roundedCaps: z.ZodNullable; fills: z.ZodArray; startUnit: z.ZodNumber; endUnit: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ by: z.ZodLiteral<"percent">; startPct: z.ZodNumber; endPct: z.ZodNumber; }, z.core.$strict>], "by">; style: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"solid">; fill: z.ZodString; fillOpacity: z.ZodNullable; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"outline">; stroke: z.ZodString; strokeWidth: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"hatch">; color: z.ZodString; strokeWidth: z.ZodNumber; spacing: z.ZodNullable; angleDeg: z.ZodNullable; }, z.core.$strict>], "kind">; label: z.ZodNullable; }, z.core.$strip>>; }, z.core.$strict>>; }, z.core.$strict>; bottomTape: z.ZodNullable, z.ZodTransform>; unitsTotal: z.ZodNumber; extent: z.ZodNullable; startUnit: z.ZodNumber; endUnit: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ by: z.ZodLiteral<"percent">; startPct: z.ZodNumber; endPct: z.ZodNumber; }, z.core.$strict>], "by">>; grid: z.ZodObject<{ show: z.ZodBoolean; }, z.core.$strict>; roundedCaps: z.ZodNullable; fills: z.ZodArray; startUnit: z.ZodNumber; endUnit: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ by: z.ZodLiteral<"percent">; startPct: z.ZodNumber; endPct: z.ZodNumber; }, z.core.$strict>], "by">; style: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"solid">; fill: z.ZodString; fillOpacity: z.ZodNullable; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"outline">; stroke: z.ZodString; strokeWidth: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"hatch">; color: z.ZodString; strokeWidth: z.ZodNumber; spacing: z.ZodNullable; angleDeg: z.ZodNullable; }, z.core.$strict>], "kind">; label: z.ZodNullable; }, z.core.$strip>>; }, z.core.$strict>>; }, z.core.$strict>>; brackets: z.ZodArray; span: z.ZodDiscriminatedUnion<[z.ZodObject<{ by: z.ZodLiteral<"units">; startUnit: z.ZodNumber; endUnit: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ by: z.ZodLiteral<"percent">; startPct: z.ZodNumber; endPct: z.ZodNumber; }, z.core.$strict>], "by">; labelTop: z.ZodPipe, z.ZodTransform>; labelBottom: z.ZodPipe, z.ZodTransform>; style: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"straight">; stroke: z.ZodNullable; strokeWidth: z.ZodNullable; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"curly">; stroke: z.ZodNullable; strokeWidth: z.ZodNullable; }, z.core.$strict>], "kind">; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"transformationDiagram">; width: z.ZodNumber; height: z.ZodNumber; preImage: z.ZodObject<{ vertices: z.ZodArray>; label: z.ZodPipe, z.ZodTransform>; fillColor: z.ZodString; strokeColor: z.ZodString; vertexLabels: z.ZodArray; angleMarks: z.ZodArray, z.ZodTransform>; labelDistance: z.ZodNumber; }, z.core.$strict>>; sideLengths: z.ZodArray; offset: z.ZodNumber; }, z.core.$strict>>; }, z.core.$strict>; transformation: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"translation">; vector: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"reflection">; lineOfReflection: z.ZodObject<{ from: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strict>; to: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strict>; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; dotted: "dotted"; }>; color: z.ZodString; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"rotation">; centerOfRotation: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strict>; angle: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"dilation">; centerOfDilation: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strict>; scaleFactor: z.ZodNumber; }, z.core.$strict>], "type">; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"transversalAngleDiagram">; width: z.ZodNumber; height: z.ZodNumber; points: z.ZodObject<{ transversalRayA: z.ZodObject<{ id: z.ZodString; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>; intersection1: z.ZodObject<{ id: z.ZodString; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>; intersection2: z.ZodObject<{ id: z.ZodString; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>; transversalRayB: z.ZodObject<{ id: z.ZodString; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>; line1RayA: z.ZodObject<{ id: z.ZodString; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>; line1RayB: z.ZodObject<{ id: z.ZodString; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>; line2RayA: z.ZodObject<{ id: z.ZodString; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>; line2RayB: z.ZodObject<{ id: z.ZodString; label: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>; }, z.core.$strict>; line1Angle: z.ZodNumber; line2Angle: z.ZodNumber; transversalAngle: z.ZodNumber; intersection1Cycle: z.ZodObject<{ nextClockwiseFromTransversalA: z.ZodEnum<{ line1RayA: "line1RayA"; line1RayB: "line1RayB"; }>; }, z.core.$strip>; intersection2Cycle: z.ZodObject<{ nextClockwiseFromIntersection1: z.ZodEnum<{ line2RayA: "line2RayA"; line2RayB: "line2RayB"; }>; }, z.core.$strip>; angles: z.ZodArray>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"treeDiagram">; width: z.ZodNumber; height: z.ZodNumber; nodes: z.ZodArray, z.ZodTransform>; position: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strict>; style: z.ZodEnum<{ default: "default"; circled: "circled"; }>; color: z.ZodString; }, z.core.$strict>>; edges: z.ZodArray; }, z.core.$strict>>; nodeFontSize: z.ZodNumber; nodeRadius: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"triangleDiagram">; width: z.ZodNumber; height: z.ZodNumber; points: z.ZodObject<{ A: z.ZodObject<{ id: z.ZodString; label: z.ZodString; }, z.core.$strict>; B: z.ZodObject<{ id: z.ZodString; label: z.ZodString; }, z.core.$strict>; C: z.ZodObject<{ id: z.ZodString; label: z.ZodString; }, z.core.$strict>; }, z.core.$strict>; extraPoints: z.ZodNullable>>; angleArcs: z.ZodArray; value: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"symbolic">; symbol: z.ZodString; }, z.core.$strict>], "type">; color: z.ZodString; showArc: z.ZodBoolean; showLabel: z.ZodBoolean; }, z.core.$strict>>; sideLabels: z.ZodNullable; value: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"symbolic">; symbol: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"mathml">; mathml: z.ZodString; value: z.ZodNumber; }, z.core.$strict>], "type">>; BC: z.ZodNullable; value: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"symbolic">; symbol: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"mathml">; mathml: z.ZodString; value: z.ZodNumber; }, z.core.$strict>], "type">>; CA: z.ZodNullable; value: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"symbolic">; symbol: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"mathml">; mathml: z.ZodString; value: z.ZodNumber; }, z.core.$strict>], "type">>; }, z.core.$strict>>; constructionLines: z.ZodNullable; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; dotted: "dotted"; }>; }, z.core.$strict>>>; lines: z.ZodNullable>>; altitudes: z.ZodNullable; value: z.ZodNullable; value: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"symbolic">; symbol: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"mathml">; mathml: z.ZodString; value: z.ZodNumber; }, z.core.$strict>], "type">>; style: z.ZodEnum<{ dashed: "dashed"; dotted: "dotted"; }>; color: z.ZodString; withRightAngle: z.ZodLiteral; }, z.core.$strict>>>; rightAngleMarks: z.ZodNullable; }, z.core.$strict>>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"unitBlockDiagram">; totalBlocks: z.ZodNumber; shadedUnitsPerBlock: z.ZodNumber; blocksPerRow: z.ZodNumber; blockWidth: z.ZodNumber; blockHeight: z.ZodNumber; shadeColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"periodicTable">; alt: z.ZodString; caption: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"urlImage">; url: z.ZodString; alt: z.ZodString; width: z.ZodNullable; height: z.ZodNullable; caption: z.ZodPipe, z.ZodTransform>; attribution: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"vennDiagram">; width: z.ZodNumber; height: z.ZodNumber; circleA: z.ZodObject<{ label: z.ZodString; count: z.ZodNumber; color: z.ZodString; }, z.core.$strict>; circleB: z.ZodObject<{ label: z.ZodString; count: z.ZodNumber; color: z.ZodString; }, z.core.$strict>; intersectionCount: z.ZodNumber; outsideCount: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"verticalArithmeticSetup">; title: z.ZodPipe, z.ZodTransform>; operand1: z.ZodString; operand2: z.ZodString; operator: z.ZodEnum<{ "+": "+"; "\u2212": "−"; "\u00D7": "×"; }>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"vectorDiagram">; width: z.ZodNumber; height: z.ZodNumber; gridSpacing: z.ZodNumber; showGrid: z.ZodBoolean; gridColor: z.ZodString; vectors: z.ZodArray; end: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strip>; color: z.ZodString; }, z.core.$strict>>; markers: z.ZodArray; shape: z.ZodEnum<{ square: "square"; circle: "circle"; rightAngle: "rightAngle"; }>; size: z.ZodNumber; color: z.ZodString; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"parallelogramTrapezoidDiagram">; width: z.ZodNumber; height: z.ZodNumber; shape: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"parallelogram">; base: z.ZodNumber; height: z.ZodNumber; slantAngle: z.ZodNumber; labels: z.ZodObject<{ base: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"none">; }, z.core.$strip>], "type">; height: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"none">; }, z.core.$strip>], "type">; slantAngle: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"none">; }, z.core.$strip>], "type">; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"trapezoidRight">; topBase: z.ZodNumber; bottomBase: z.ZodNumber; height: z.ZodNumber; labels: z.ZodObject<{ topBase: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"none">; }, z.core.$strip>], "type">; bottomBase: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"none">; }, z.core.$strip>], "type">; height: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"none">; }, z.core.$strip>], "type">; leftSide: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"none">; }, z.core.$strip>], "type">; rightSide: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"none">; }, z.core.$strip>], "type">; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"trapezoid">; topBase: z.ZodNumber; bottomBase: z.ZodNumber; height: z.ZodNumber; leftSideLength: z.ZodNumber; labels: z.ZodObject<{ topBase: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"none">; }, z.core.$strip>], "type">; bottomBase: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"none">; }, z.core.$strip>], "type">; height: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"none">; }, z.core.$strip>], "type">; leftSide: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"none">; }, z.core.$strip>], "type">; rightSide: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"none">; }, z.core.$strip>], "type">; }, z.core.$strict>; }, z.core.$strict>], "type">; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"pieChart">; width: z.ZodNumber; height: z.ZodNumber; charts: z.ZodArray>; }, z.core.$strict>>; layout: z.ZodLiteral<"vertical">; spacing: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"fractionFrequencyPlot">; width: z.ZodNumber; height: z.ZodNumber; title: z.ZodPipe, z.ZodTransform>; ticks: z.ZodArray; value: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"fraction">; numerator: z.ZodNumber; denominator: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"mixed">; whole: z.ZodNumber; numerator: z.ZodNumber; denominator: z.ZodNumber; }, z.core.$strict>], "type">; frequency: z.ZodNumber; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"freeBodyDiagram">; top: z.ZodNullable; bottom: z.ZodNullable; left: z.ZodNullable; right: z.ZodNullable; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"divisionAreaDiagram">; divisor: z.ZodNumber; dividend: z.ZodNumber; quotientParts: z.ZodArray; value: z.ZodNumber; color: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"placeholder">; }, z.core.$strip>], "type">>; steps: z.ZodArray; difference: z.ZodNullable; differenceColor: z.ZodNullable; topTokens: z.ZodNullable; value: z.ZodNumber; color: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"boxedDigit">; value: z.ZodNumber; color: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"emptyBox">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"spacer">; }, z.core.$strip>], "type">>>; subtrahendTokens: z.ZodNullable; value: z.ZodNumber; color: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"boxedDigit">; value: z.ZodNumber; color: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"emptyBox">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"spacer">; }, z.core.$strip>], "type">>>; differenceTokens: z.ZodNullable; value: z.ZodNumber; color: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"boxedDigit">; value: z.ZodNumber; color: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"emptyBox">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"spacer">; }, z.core.$strip>], "type">>>; rightPanel: z.ZodNullable; value: z.ZodNumber; color: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"boxedDigit">; value: z.ZodNumber; color: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"emptyBox">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"spacer">; }, z.core.$strip>], "type">>>; minusTokens: z.ZodNullable; value: z.ZodNumber; color: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"boxedDigit">; value: z.ZodNumber; color: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"emptyBox">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"spacer">; }, z.core.$strip>], "type">>>; bottomTokens: z.ZodNullable; value: z.ZodNumber; color: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"boxedDigit">; value: z.ZodNumber; color: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"emptyBox">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"spacer">; }, z.core.$strip>], "type">>>; }, z.core.$strip>>; }, z.core.$strict>>; showFinalRemainderBox: z.ZodBoolean; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"divisionModelDiagram">; width: z.ZodNumber; height: z.ZodNumber; dividend: z.ZodNumber; divisor: z.ZodNumber; objectColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"factorizationDiagram">; width: z.ZodNumber; height: z.ZodNumber; numberToFactor: z.ZodNumber; dotColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"equivalentFractionModel">; width: z.ZodNumber; height: z.ZodNumber; numerator: z.ZodNumber; tenthsColor: z.ZodString; hundredthsColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"subtractionWithRegrouping">; minuend: z.ZodNumber; subtrahend: z.ZodNumber; showRegrouping: z.ZodBoolean; showAnswer: z.ZodBoolean; revealUpTo: z.ZodEnum<{ ones: "ones"; tens: "tens"; hundreds: "hundreds"; thousands: "thousands"; "ten-thousands": "ten-thousands"; complete: "complete"; }>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"additionWithRegrouping">; addend1: z.ZodNumber; addend2: z.ZodNumber; showCarrying: z.ZodBoolean; showAnswer: z.ZodBoolean; revealUpTo: z.ZodEnum<{ ones: "ones"; tens: "tens"; hundreds: "hundreds"; thousands: "thousands"; "ten-thousands": "ten-thousands"; complete: "complete"; }>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"wheelDiagram">; width: z.ZodNumber; height: z.ZodNumber; spokeCount: z.ZodNumber; shadedSectorCount: z.ZodNumber; shadeColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"labeledRectangleDiagram">; width: z.ZodNumber; height: z.ZodNumber; topLabel: z.ZodNullable; bottomLabel: z.ZodNullable; leftLabel: z.ZodNullable; rightLabel: z.ZodNullable; areaLabel: z.ZodNullable; fillColor: z.ZodString; borderColor: z.ZodString; textColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"customPolygonDiagram">; width: z.ZodNumber; height: z.ZodNumber; points: z.ZodArray, z.ZodTransform>; }, z.core.$strict>>; fillColor: z.ZodString; strokeColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"lineDiagram">; width: z.ZodNumber; height: z.ZodNumber; gridBounds: z.ZodObject<{ minX: z.ZodNumber; maxX: z.ZodNumber; minY: z.ZodNumber; maxY: z.ZodNumber; }, z.core.$strict>; lines: z.ZodArray; to: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strict>; style: z.ZodEnum<{ solid: "solid"; dotted: "dotted"; }>; label: z.ZodPipe, z.ZodTransform>; labelPosition: z.ZodEnum<{ end: "end"; start: "start"; middle: "middle"; }>; color: z.ZodString; }, z.core.$strict>>; perpendicularIndicators: z.ZodArray>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"pesSpectrum">; title: z.ZodPipe, z.ZodTransform>; width: z.ZodNumber; height: z.ZodNumber; yAxisLabel: z.ZodString; peaks: z.ZodArray; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"stickPlot">; width: z.ZodNumber; height: z.ZodNumber; title: z.ZodString; xAxis: z.ZodObject<{ label: z.ZodString; categories: z.ZodArray; showGridLines: z.ZodBoolean; }, z.core.$strict>; yAxis: z.ZodObject<{ label: z.ZodString; min: z.ZodNumber; max: z.ZodNumber; tickInterval: z.ZodNumber; showGridLines: z.ZodBoolean; }, z.core.$strict>; sticks: z.ZodArray>; stickWidthPx: z.ZodNumber; references: z.ZodArray>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"video">; width: z.ZodNumber; height: z.ZodNumber; url: z.ZodString; fallbackText: z.ZodNullable; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"marbleDiagram">; groups: z.ZodArray>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"symmetryDiagram">; width: z.ZodNumber; height: z.ZodNumber; shape: z.ZodEnum<{ square: "square"; rectangle: "rectangle"; regularTriangle: "regularTriangle"; isoscelesTrapezoid: "isoscelesTrapezoid"; isoscelesTriangle: "isoscelesTriangle"; heart: "heart"; rhombus: "rhombus"; fourPointStar: "fourPointStar"; }>; drawCorrectLines: z.ZodBoolean; drawIncorrectLines: z.ZodBoolean; shapeColor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"stemLeafPlot">; title: z.ZodString; data: z.ZodArray; leaves: z.ZodArray>; }, z.core.$strict>>; keyExample: z.ZodObject<{ stem: z.ZodUnion; leaf: z.ZodUnion; value: z.ZodUnion; }, z.core.$strict>; stemLabel: z.ZodString; leafLabel: z.ZodString; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"decoratedNumber">; number: z.ZodNumber; decorations: z.ZodArray; decoration: z.ZodEnum<{ circle: "circle"; underline: "underline"; both: "both"; }>; }, z.core.$strip>>; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>], "type">, z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"partitionedShape">; width: z.ZodNumber; height: z.ZodNumber; mode: z.ZodLiteral<"partition">; shapes: z.ZodArray; totalParts: z.ZodNumber; shadedCells: z.ZodArray; hatchedCells: z.ZodArray; rows: z.ZodNumber; columns: z.ZodNumber; shadeColor: z.ZodString; shadeOpacity: z.ZodNumber; }, z.core.$strict>>; layout: z.ZodEnum<{ vertical: "vertical"; horizontal: "horizontal"; }>; overlays: z.ZodArray; to: z.ZodObject<{ row: z.ZodNumber; col: z.ZodNumber; }, z.core.$strict>; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; dotted: "dotted"; }>; color: z.ZodString; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"partitionedShape">; width: z.ZodNumber; height: z.ZodNumber; mode: z.ZodLiteral<"geometry">; grid: z.ZodObject<{ rows: z.ZodNumber; columns: z.ZodNumber; opacity: z.ZodNumber; }, z.core.$strict>; figures: z.ZodArray>; fillColor: z.ZodNullable; strokeColor: z.ZodNullable; }, z.core.$strict>>; lines: z.ZodArray; to: z.ZodObject<{ row: z.ZodNumber; col: z.ZodNumber; }, z.core.$strict>; style: z.ZodEnum<{ solid: "solid"; dashed: "dashed"; dotted: "dotted"; }>; color: z.ZodString; }, z.core.$strict>>; }, z.core.$strict>], "mode">, z.ZodDiscriminatedUnion<[z.ZodObject<{ polyhedronType: z.ZodLiteral<"cube">; width: z.ZodNumber; height: z.ZodNumber; base: z.ZodObject<{ type: z.ZodLiteral<"square">; side: z.ZodNumber; }, z.core.$strict>; showLabels: z.ZodNullable; type: z.ZodLiteral<"polyhedronNetDiagram">; }, z.core.$strict>, z.ZodObject<{ polyhedronType: z.ZodLiteral<"rectangularPrism">; width: z.ZodNumber; height: z.ZodNumber; base: z.ZodObject<{ type: z.ZodLiteral<"rectangle">; length: z.ZodNumber; width: z.ZodNumber; }, z.core.$strict>; lateralHeight: z.ZodNumber; showLabels: z.ZodNullable; type: z.ZodLiteral<"polyhedronNetDiagram">; }, z.core.$strict>, z.ZodObject<{ polyhedronType: z.ZodLiteral<"triangularPrism">; width: z.ZodNumber; height: z.ZodNumber; base: z.ZodObject<{ type: z.ZodLiteral<"triangle">; base: z.ZodNumber; height: z.ZodNumber; side1: z.ZodNumber; side2: z.ZodNumber; }, z.core.$strict>; lateralHeight: z.ZodNumber; showLabels: z.ZodNullable; type: z.ZodLiteral<"polyhedronNetDiagram">; }, z.core.$strict>, z.ZodObject<{ polyhedronType: z.ZodLiteral<"squarePyramid">; width: z.ZodNumber; height: z.ZodNumber; base: z.ZodObject<{ type: z.ZodLiteral<"square">; side: z.ZodNumber; }, z.core.$strict>; lateralHeight: z.ZodNumber; showLabels: z.ZodNullable; type: z.ZodLiteral<"polyhedronNetDiagram">; }, z.core.$strict>, z.ZodObject<{ polyhedronType: z.ZodLiteral<"triangularPyramid">; width: z.ZodNumber; height: z.ZodNumber; base: z.ZodObject<{ type: z.ZodLiteral<"triangle">; base: z.ZodNumber; height: z.ZodNumber; side1: z.ZodNumber; side2: z.ZodNumber; }, z.core.$strict>; lateralHeight: z.ZodNumber; showLabels: z.ZodNullable; type: z.ZodLiteral<"polyhedronNetDiagram">; }, z.core.$strict>, z.ZodObject<{ polyhedronType: z.ZodLiteral<"pentagonalPyramid">; width: z.ZodNumber; height: z.ZodNumber; base: z.ZodObject<{ type: z.ZodLiteral<"pentagon">; side: z.ZodNumber; }, z.core.$strict>; lateralHeight: z.ZodNumber; showLabels: z.ZodNullable; type: z.ZodLiteral<"polyhedronNetDiagram">; }, z.core.$strict>], "polyhedronType">]>>>; interactions: z.ZodNullable, unknown, z.core.$ZodTypeInternals, unknown>>>>; feedbackPlan: z.ZodObject<{ mode: z.ZodUnion, z.ZodLiteral<"fallback">]>; dimensions: z.ZodArray; keys: z.ZodArray; }, z.core.$strict>, z.ZodObject<{ responseIdentifier: z.ZodString; kind: z.ZodLiteral<"binary">; }, z.core.$strict>], "kind">>; combinations: z.ZodArray, z.ZodLiteral<"INCORRECT">, z.ZodString]>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>; feedback: z.ZodType<{ FEEDBACK__OVERALL: import("../../core/feedback").AuthoringFeedbackOverall<{ mode: "combo" | "fallback"; dimensions: ({ responseIdentifier: string; kind: "enumerated"; keys: string[]; } | { responseIdentifier: string; kind: "binary"; })[]; combinations: { id: string; path: { responseIdentifier: string; key: string; }[]; }[]; }, E>; }, unknown, z.core.$ZodTypeInternals<{ FEEDBACK__OVERALL: import("../../core/feedback").AuthoringFeedbackOverall<{ mode: "combo" | "fallback"; dimensions: ({ responseIdentifier: string; kind: "enumerated"; keys: string[]; } | { responseIdentifier: string; kind: "binary"; })[]; combinations: { id: string; path: { responseIdentifier: string; key: string; }[]; }[]; }, E>; }, unknown>>; }, z.core.$strict>, z.ZodTransform<{ identifier: string; title: string; responseDeclarations: ResponseDeclaration[]; body: ({ type: "interactionRef"; interactionId: string; } | { type: "paragraph"; content: ({ type: "text"; content: string; } | { type: "math"; mathml: string; } | { type: "inlineInteractionRef"; interactionId: string; } | { type: "inlineWidgetRef"; widgetId: string; widgetType: ({ [k_1 in E[number]]: k_1; } extends infer T_7 ? { [k in keyof T_7]: T_7[k]; } : never)[E[number]]; })[]; } | { type: "unorderedList"; items: ({ type: "text"; content: string; } | { type: "math"; mathml: string; } | { type: "inlineInteractionRef"; interactionId: string; } | { type: "inlineWidgetRef"; widgetId: string; widgetType: ({ [k_1 in E[number]]: k_1; } extends infer T_8 ? { [k in keyof T_8]: T_8[k]; } : never)[E[number]]; })[][]; } | { type: "orderedList"; items: ({ type: "text"; content: string; } | { type: "math"; mathml: string; } | { type: "inlineInteractionRef"; interactionId: string; } | { type: "inlineWidgetRef"; widgetId: string; widgetType: ({ [k_1 in E[number]]: k_1; } extends infer T_9 ? { [k in keyof T_9]: T_9[k]; } : never)[E[number]]; })[][]; } | { type: "tableRich"; header: (({ type: "text"; content: string; } | { type: "math"; mathml: string; } | { type: "inlineInteractionRef"; interactionId: string; } | { type: "inlineWidgetRef"; widgetId: string; widgetType: ({ [k_1 in E[number]]: k_1; } extends infer T_10 ? { [k in keyof T_10]: T_10[k]; } : never)[E[number]]; })[] | null)[][] | null; rows: (({ type: "text"; content: string; } | { type: "math"; mathml: string; } | { type: "inlineInteractionRef"; interactionId: string; } | { type: "inlineWidgetRef"; widgetId: string; widgetType: ({ [k_1 in E[number]]: k_1; } extends infer T_11 ? { [k in keyof T_11]: T_11[k]; } : never)[E[number]]; })[] | null)[][]; } | { type: "blockquote"; content: ({ type: "text"; content: string; } | { type: "math"; mathml: string; } | { type: "inlineInteractionRef"; interactionId: string; } | { type: "inlineWidgetRef"; widgetId: string; widgetType: ({ [k_1 in E[number]]: k_1; } extends infer T_12 ? { [k in keyof T_12]: T_12[k]; } : never)[E[number]]; })[]; } | { type: "widgetRef"; widgetId: string; widgetType: ({ [k_1 in E[number]]: k_1; } extends infer T_13 ? { [k in keyof T_13]: T_13[k]; } : never)[E[number]]; })[] | null; widgets: Record" | "=")[] | null; } | { type: "freeBodyDiagram"; top: string | null; bottom: string | null; left: string | null; right: string | null; } | { type: "functionPlotGraph"; width: number; height: number; xAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; yAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; showQuadrantLabels: boolean; polylines: ({ type: "points"; id: string; points: { x: number; y: number; }[]; color: string; style: "solid" | "dashed"; label: string | null; } | { type: "function"; id: string; coefficients: number[]; xRange: { min: number; max: number; }; color: string; style: "solid" | "dashed"; label: string | null; })[]; points: { id: string; x: number; y: number; label: string; style: "open" | "closed"; }[]; } | { type: "geometricPrimitiveDiagram"; width: number; height: number; primitive: { type: "point"; pointOne: { label: string | null; }; } | { type: "segment"; pointOne: { label: string | null; }; pointTwo: { label: string | null; }; rotation: number; length: number | null; } | { type: "ray"; pointOne: { label: string | null; }; pointTwo: { label: string | null; }; rotation: number; length: number | null; } | { type: "line"; pointOne: { label: string | null; }; pointTwo: { label: string | null; }; rotation: number; length: number | null; } | { type: "arc"; pointOne: { label: string | null; }; pointTwo: { label: string | null; }; rotation: number; length: number | null; bulge: number; }; } | { type: "geometricSolidDiagram"; width: number; height: number; shape: { type: "cylinder"; radiusLabel: string | null; heightLabel: string | null; } | { type: "cone"; radiusLabel: string | null; heightLabel: string | null; } | { type: "sphere"; radiusLabel: string | null; }; } | { type: "hangerDiagram"; width: number; height: number; leftSide: { label: string | number | null; shape: "square" | "circle" | "pentagon" | "hexagon" | "triangle"; backgroundColor: string; }[]; rightSide: { label: string | number | null; shape: "square" | "circle" | "pentagon" | "hexagon" | "triangle"; backgroundColor: string; }[]; } | { type: "histogram"; width: number; height: number; title: string; xAxis: { label: string; }; yAxis: { label: string; max: number; tickInterval: number; }; separators: number[]; bins: { frequency: number; }[]; } | { type: "inequalityNumberLine"; width: number; height: number; min: number; max: number; tickInterval: number; ranges: { start: { type: "bounded"; at: { value: number; type: "open" | "closed"; }; } | { type: "unbounded"; }; end: { type: "bounded"; at: { value: number; type: "open" | "closed"; }; } | { type: "unbounded"; }; color: string; }[]; } | { type: "integerChipLegend"; positiveChipLabel: string; negativeChipLabel: string; } | { type: "integerChipModel"; width: number; height: number; chips: { sign: "plus" | "minus"; crossedOut: boolean; }[]; } | { type: "keelingCurve"; width: number; height: number; xAxisLabel: string; yAxisLabel: string; annotations: { year: number; text: string[]; }[]; } | { type: "labeledRectangleDiagram"; width: number; height: number; topLabel: string | null; bottomLabel: string | null; leftLabel: string | null; rightLabel: string | null; areaLabel: string | null; fillColor: string; borderColor: string; textColor: string; } | { type: "lineDiagram"; width: number; height: number; gridBounds: { minX: number; maxX: number; minY: number; maxY: number; }; lines: { id: string; from: { x: number; y: number; }; to: { x: number; y: number; }; style: "solid" | "dotted"; label: string | null; labelPosition: "end" | "start" | "middle"; color: string; }[]; perpendicularIndicators: { line1Id: string; line2Id: string; size: number; color: string; }[]; } | { type: "lineEquationGraph"; width: number; height: number; xAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; yAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; showQuadrantLabels: boolean; lines: { id: string; equation: { type: "slopeIntercept"; slope: number; yIntercept: number; } | { type: "standard"; A: number; B: number; C: number; } | { type: "pointSlope"; x1: number; y1: number; slope: number; }; color: string; style: "solid" | "dashed"; label: string | null; }[]; points: { id: string; x: number; y: number; label: string; style: "open" | "closed"; }[]; } | { type: "lineGraph"; width: number; height: number; title: string; xAxis: { label: string; categories: string[]; }; yAxis: { label: string; min: number; max: number; tickInterval: number; showGridLines: boolean; }; yAxisRight: { label: string; min: number; max: number; tickInterval: number; showGridLines: boolean; } | null; series: { name: string; values: number[]; color: string; style: "solid" | "dashed" | "dotted"; pointShape: "square" | "circle"; yAxis: "right" | "left"; }[]; showLegend: boolean; } | { type: "marbleDiagram"; groups: { color: string; count: number; }[]; } | { type: "nPolygon"; width: number; height: number; polygons: { shape: "rectangle" | "regularTriangle" | "regularSquare" | "regularPentagon" | "regularHexagon" | "regularHeptagon" | "regularOctagon" | "rightTrapezoid" | "pentagonTwoConsecutiveRightAngles"; fillColor: string; sideLabels: { sideIndex: number; label: { value: string | number; unit: string | null; }; }[] | null; }[]; } | { type: "numberLine"; width: number; height: number; orientation: "vertical" | "horizontal"; min: number; max: number; tickInterval: { type: "whole"; interval: number; } | { type: "fraction"; denominator: number; }; secondaryTickInterval: { type: "whole"; interval: number; } | { type: "fraction"; denominator: number; } | null; showTickLabels: boolean; highlightedPoints: ({ type: "whole"; position: number; color: string; style: "dot"; value: number; sign: "-" | "+"; } | { type: "fraction"; position: number; color: string; style: "dot"; numerator: number; denominator: number; sign: "-" | "+"; } | { type: "mixed"; position: number; color: string; style: "dot"; whole: number; numerator: number; denominator: number; sign: "-" | "+"; } | { type: "mathml"; position: number; color: string; style: "dot"; mathml: string; })[] | null; segments: { start: number; end: number; color: string; }[] | null; model: { totalCells: number; cellGroups: { count: number; color: string; }[]; bracketLabel: string; } | null; } | { type: "numberLineWithAction"; width: number; height: number; orientation: "vertical" | "horizontal"; min: number; max: number; tickInterval: { type: "whole"; interval: number; } | { type: "fraction"; numerator: 1; denominator: number; }; secondaryTickInterval: { type: "whole"; interval: number; } | { type: "fraction"; numerator: 1; denominator: number; } | null; startValue: number; actions: { delta: { type: "whole"; value: number; sign: "-" | "+"; } | { type: "fraction"; numerator: number; denominator: number; sign: "-" | "+"; } | { type: "mixed"; whole: number; numerator: number; denominator: number; sign: "-" | "+"; }; }[]; } | { type: "numberLineWithFractionGroups"; width: number; height: number; axis: { lowerBound: number; upperBound: number; denominator: number; }; boxes: { lowerBound: number; upperBound: number; fillTo: number; }; } | { type: "numberSetDiagram"; width: number; height: number; sets: { whole: { label: string | null; color: string; }; integer: { label: string | null; color: string; }; rational: { label: string | null; color: string; }; irrational: { label: string | null; color: string; }; }; } | { type: "parabolaGraph"; width: number; height: number; xAxis: { label: string; min: number; max: number; tickInterval: number; showGridLines: boolean; showTickLabels: boolean; }; yAxis: { label: string; min: number; max: number; tickInterval: number; showGridLines: boolean; showTickLabels: boolean; }; parabola: { vertex: { x: number; y: number; }; yIntercept: number; color: string; style: "solid" | "dashed"; }; } | { type: "parallelogramTrapezoidDiagram"; width: number; height: number; shape: { type: "parallelogram"; base: number; height: number; slantAngle: number; labels: { base: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; height: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; slantAngle: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; }; } | { type: "trapezoidRight"; topBase: number; bottomBase: number; height: number; labels: { topBase: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; bottomBase: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; height: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; leftSide: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; rightSide: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; }; } | { type: "trapezoid"; topBase: number; bottomBase: number; height: number; leftSideLength: number; labels: { topBase: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; bottomBase: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; height: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; leftSide: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; rightSide: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; }; }; } | { type: "partitionedShape"; width: number; height: number; mode: "partition"; shapes: { type: "circle" | "rectangle"; totalParts: number; shadedCells: number[]; hatchedCells: number[]; rows: number; columns: number; shadeColor: string; shadeOpacity: number; }[]; layout: "vertical" | "horizontal"; overlays: { from: { row: number; col: number; }; to: { row: number; col: number; }; style: "solid" | "dashed" | "dotted"; color: string; }[]; } | { type: "partitionedShape"; width: number; height: number; mode: "geometry"; grid: { rows: number; columns: number; opacity: number; }; figures: { vertices: { row: number; col: number; }[]; fillColor: string | null; strokeColor: string | null; }[]; lines: { from: { row: number; col: number; }; to: { row: number; col: number; }; style: "solid" | "dashed" | "dotted"; color: string; }[]; } | { type: "patternDiagram"; width: number; height: number; items: ({ type: "shape"; shape: "square" | "circle" | "rectangle" | "pentagon" | "hexagon" | "triangle" | "heptagon" | "octagon"; fillColor: string; } | { type: "placeholder"; })[]; shapeSize: number; } | { type: "pentagonIntersectionDiagram"; width: number; height: number; pentagonPoints: { id: string; x: number; y: number; }[]; intersectionLines: { from: string; to: string; }[]; khanArcs: { startX: number; startY: number; rx: number; ry: number; xAxisRotation: number; largeArcFlag: number; sweepFlag: number; endDeltaX: number; endDeltaY: number; label: string | null; color: string; }[]; } | { type: "periodicTable"; alt: string; caption: string | null; } | { type: "pesSpectrum"; title: string | null; width: number; height: number; yAxisLabel: string; peaks: { energy: number; heightUnits: number; topLabel: string | null; }[]; } | { type: "pieChart"; width: number; height: number; charts: { title: string; slices: { label: string; value: number; color: string; }[]; }[]; layout: "vertical"; spacing: number; } | { type: "pictograph"; title: string | null; key: { icon: string; label: string | null; }; data: { category: string; iconCount: number; }[]; } | { type: "pointPlotGraph"; width: number; height: number; xAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; yAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; showQuadrantLabels: boolean; points: { id: string; x: number; y: number; label: string; style: "open" | "closed"; }[]; } | { type: "polygonGraph"; width: number; height: number; xAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; yAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; showQuadrantLabels: boolean; points: { id: string; x: number; y: number; label: string; style: "open" | "closed"; }[]; polygons: { vertices: string[]; isClosed: boolean; fillColor: string; strokeColor: string; label: string; }[]; } | { type: "polyhedronDiagram"; width: number; height: number; shape: { type: "rectangularPrism"; } | { type: "triangularPrism"; } | { type: "rectangularPyramid"; } | { type: "triangularPyramid"; }; labels: { text: string; target: string; }[]; segments: { from: { type: "vertex"; index: number; } | { type: "edgeMidpoint"; a: number; b: number; } | { type: "edgePoint"; a: number; b: number; t: number; } | { type: "faceCentroid"; face: "frontFace" | "backFace" | "leftFace" | "rightFace" | "topFace" | "bottomFace" | "baseFace"; }; to: { type: "vertex"; index: number; } | { type: "edgeMidpoint"; a: number; b: number; } | { type: "edgePoint"; a: number; b: number; t: number; } | { type: "faceCentroid"; face: "frontFace" | "backFace" | "leftFace" | "rightFace" | "topFace" | "bottomFace" | "baseFace"; }; label: string | null; }[] | null; diagonals: { fromVertexIndex: number; toVertexIndex: number; label: string | null; }[]; angleMarkers: { type: "right"; at: { type: "vertex"; index: number; } | { type: "edgeMidpoint"; a: number; b: number; } | { type: "edgePoint"; a: number; b: number; t: number; } | { type: "faceCentroid"; face: "frontFace" | "backFace" | "leftFace" | "rightFace" | "topFace" | "bottomFace" | "baseFace"; }; from: { type: "vertex"; index: number; } | { type: "edgeMidpoint"; a: number; b: number; } | { type: "edgePoint"; a: number; b: number; t: number; } | { type: "faceCentroid"; face: "frontFace" | "backFace" | "leftFace" | "rightFace" | "topFace" | "bottomFace" | "baseFace"; }; to: { type: "vertex"; index: number; } | { type: "edgeMidpoint"; a: number; b: number; } | { type: "edgePoint"; a: number; b: number; t: number; } | { type: "faceCentroid"; face: "frontFace" | "backFace" | "leftFace" | "rightFace" | "topFace" | "bottomFace" | "baseFace"; }; sizePx: number; }[] | null; shadedFace: string | null; showHiddenEdges: boolean; } | { polyhedronType: "cube"; width: number; height: number; base: { type: "square"; side: number; }; showLabels: boolean | null; type: "polyhedronNetDiagram"; } | { polyhedronType: "rectangularPrism"; width: number; height: number; base: { type: "rectangle"; length: number; width: number; }; lateralHeight: number; showLabels: boolean | null; type: "polyhedronNetDiagram"; } | { polyhedronType: "triangularPrism"; width: number; height: number; base: { type: "triangle"; base: number; height: number; side1: number; side2: number; }; lateralHeight: number; showLabels: boolean | null; type: "polyhedronNetDiagram"; } | { polyhedronType: "squarePyramid"; width: number; height: number; base: { type: "square"; side: number; }; lateralHeight: number; showLabels: boolean | null; type: "polyhedronNetDiagram"; } | { polyhedronType: "triangularPyramid"; width: number; height: number; base: { type: "triangle"; base: number; height: number; side1: number; side2: number; }; lateralHeight: number; showLabels: boolean | null; type: "polyhedronNetDiagram"; } | { polyhedronType: "pentagonalPyramid"; width: number; height: number; base: { type: "pentagon"; side: number; }; lateralHeight: number; showLabels: boolean | null; type: "polyhedronNetDiagram"; } | { type: "populationBarChart"; width: number; height: number; xAxisLabel: string; yAxis: { label: string; min: number; max: number; tickInterval: number; }; xAxisVisibleLabels: string[]; data: { label: string; value: number; }[]; barColor: string; gridColor: string; } | { type: "populationChangeEventGraph"; width: number; height: number; xAxisLabel: string; yAxisLabel: string; xAxisMin: number; xAxisMax: number; yAxisMin: number; yAxisMax: number; beforeSegment: { points: { x: number; y: number; }[]; color: string; label: string; }; afterSegment: { points: { x: number; y: number; }[]; color: string; label: string; }; showLegend: boolean; } | { type: "probabilitySpinner"; width: number; height: number; groups: { count: number; emoji: string | null; color: string; }[]; pointerAngle: number; title: string | null; } | { type: "protractorAngleDiagram"; width: number; height: number; startingReading: number; angleDegrees: number; startPointLabel: string; centerPointLabel: string; endPointLabel: string; hideEndRay: boolean; hideSector: boolean; arcLabels: { label: string; degrees: number; }[]; } | { type: "pythagoreanProofDiagram"; width: number; height: number; sideA: { label: string | null; square: { type: "unknown"; color: string; } | { type: "value"; area: number; color: string; } | null; }; sideB: { label: string | null; square: { type: "unknown"; color: string; } | { type: "value"; area: number; color: string; } | null; }; sideC: { label: string | null; square: { type: "unknown"; color: string; } | { type: "value"; area: number; color: string; } | null; }; } | { type: "quadrantDiagram"; width: number; height: number; } | { type: "quantityFractionalDiagram"; width: number; height: number; shape: { type: "rectangle"; rows: number; columns: number; } | { type: "circle"; } | { type: "polygon"; sides: number; rotation: number; }; numerator: number; denominator: number; shadeColor: string; shapesPerRow: number; } | { type: "radiallyConstrainedAngleDiagram"; width: number; height: number; centerLabel: string | null; rayLabels: string[]; angles: { fromRayLabel: string; toRayLabel: string; value: number; color: string; }[]; } | { type: "ratioBoxDiagram"; width: number; height: number; items: { count: number; color: string; style: "filled" | "outline"; }[]; itemsPerRow: number; boxes: { startRow: number; endRow: number; startCol: number; endCol: number; label: string | null; }[]; partitions: number; layout: "sequential" | "grouped"; } | { type: "rectangularFrameDiagram"; width: number; height: number; outerLength: number; outerWidth: number; outerHeight: number; thickness: number; labels: { text: string; target: string; }[]; diagonals: { fromVertexIndex: number; toVertexIndex: number; label: string | null; style: "solid" | "dashed" | "dotted"; }[]; shadedFace: string | null; showHiddenEdges: boolean; } | { type: "scaleCopiesSlider"; width: number; height: number; shapeA: { label: string | null; before: { width: number; height: number; }; after: { width: number; height: number; }; color: string; }; shapeB: { label: string | null; before: { width: number; height: number; }; after: { width: number; height: number; }; color: string; }; } | { type: "scatterPlot"; width: number; height: number; title: string; xAxis: { label: string; min: number; max: number; tickInterval: number; gridLines: boolean; }; yAxis: { label: string; min: number; max: number; tickInterval: number; gridLines: boolean; }; points: { x: number; y: number; label: string; }[]; lines: ({ type: "bestFit"; method: "linear" | "quadratic" | "exponential"; label: string; style: { color: string; strokeWidth: number; dash: boolean; }; } | { type: "twoPoints"; a: { x: number; y: number; }; b: { x: number; y: number; }; label: string; style: { color: string; strokeWidth: number; dash: boolean; }; })[]; } | { type: "shapeTransformationGraph"; width: number; height: number; xAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; yAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; showQuadrantLabels: boolean; preImage: { vertices: { x: number; y: number; }[]; color: string; label: string | null; }; transformation: { type: "translation"; vector: { x: number; y: number; }; } | { type: "reflection"; axis: "x" | "y"; } | { type: "rotation"; center: { x: number; y: number; }; angle: number; } | { type: "dilation"; center: { x: number; y: number; }; scaleFactor: number; }; points: { id: string; x: number; y: number; label: string; style: "open" | "closed"; }[]; lines: { id: string; equation: { type: "slopeIntercept"; slope: number; yIntercept: number; } | { type: "standard"; A: number; B: number; C: number; } | { type: "pointSlope"; x1: number; y1: number; slope: number; }; color: string; style: "solid" | "dashed"; label: string | null; }[] | null; } | { type: "simpleArrow"; width: number; height: number; orientation: "vertical" | "horizontal"; direction: "forward" | "backward" | "bidirectional"; color: string; strokeWidth: number; arrowSize: number; circles: { position: number; radius: number; fill: string; }[]; } | { type: "sinCosineWidget"; width: number; height: number; xAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; yAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; plots: { type: "sin" | "cos"; color: string; strokeWidth: number; style: "solid" | "dashed"; }[]; points: { id: string; x: number; y: number; label: string; style: "open" | "closed"; }[]; } | { type: "stackedItemsDiagram"; width: number; height: number; altText: string; baseItem: { emoji: string; size: number; label: string | null; }; stackedItem: { emoji: string; size: number; label: string | null; }; count: number; orientation: "vertical" | "horizontal"; overlap: number; } | { type: "stemLeafPlot"; title: string; data: { stem: string | number; leaves: (string | number)[]; }[]; keyExample: { stem: string | number; leaf: string | number; value: string | number; }; stemLabel: string; leafLabel: string; } | { type: "stickPlot"; width: number; height: number; title: string; xAxis: { label: string; categories: string[]; showGridLines: boolean; }; yAxis: { label: string; min: number; max: number; tickInterval: number; showGridLines: boolean; }; sticks: { xLabel: string; yValue: number; color: string; }[]; stickWidthPx: number; references: { xLabel: string; label: string; color: string; }[]; } | { type: "subtractionWithRegrouping"; minuend: number; subtrahend: number; showRegrouping: boolean; showAnswer: boolean; revealUpTo: "ones" | "tens" | "hundreds" | "thousands" | "ten-thousands" | "complete"; } | { type: "symmetryDiagram"; width: number; height: number; shape: "square" | "rectangle" | "regularTriangle" | "isoscelesTrapezoid" | "isoscelesTriangle" | "heart" | "rhombus" | "fourPointStar"; drawCorrectLines: boolean; drawIncorrectLines: boolean; shapeColor: string; } | { type: "tapeDiagram"; width: number; height: number; referenceUnitsTotal: number | null; topTape: { label: string | null; unitsTotal: number; extent: { by: "units"; startUnit: number; endUnit: number; } | { by: "percent"; startPct: number; endPct: number; } | null; grid: { show: boolean; }; roundedCaps: boolean | null; fills: { span: { by: "units"; startUnit: number; endUnit: number; } | { by: "percent"; startPct: number; endPct: number; }; style: { kind: "solid"; fill: string; fillOpacity: number | null; } | { kind: "outline"; stroke: string; strokeWidth: number; } | { kind: "hatch"; color: string; strokeWidth: number; spacing: number | null; angleDeg: number | null; }; label: { text: string; placement: "inside" | "above" | "below"; } | null; }[]; }; bottomTape: { label: string | null; unitsTotal: number; extent: { by: "units"; startUnit: number; endUnit: number; } | { by: "percent"; startPct: number; endPct: number; } | null; grid: { show: boolean; }; roundedCaps: boolean | null; fills: { span: { by: "units"; startUnit: number; endUnit: number; } | { by: "percent"; startPct: number; endPct: number; }; style: { kind: "solid"; fill: string; fillOpacity: number | null; } | { kind: "outline"; stroke: string; strokeWidth: number; } | { kind: "hatch"; color: string; strokeWidth: number; spacing: number | null; angleDeg: number | null; }; label: { text: string; placement: "inside" | "above" | "below"; } | null; }[]; } | null; brackets: { tape: "bottom" | "top"; span: { by: "units"; startUnit: number; endUnit: number; } | { by: "percent"; startPct: number; endPct: number; }; labelTop: string | null; labelBottom: string | null; style: { kind: "straight"; stroke: string | null; strokeWidth: number | null; } | { kind: "curly"; stroke: string | null; strokeWidth: number | null; }; }[]; } | { type: "transformationDiagram"; width: number; height: number; preImage: { vertices: { x: number; y: number; }[]; label: string | null; fillColor: string; strokeColor: string; vertexLabels: string[]; angleMarks: { vertexIndex: number; radius: number; label: string | null; labelDistance: number; }[]; sideLengths: { value: string; position: "inside" | "outside"; offset: number; }[]; }; transformation: { type: "translation"; vector: { x: number; y: number; }; } | { type: "reflection"; lineOfReflection: { from: { x: number; y: number; }; to: { x: number; y: number; }; style: "solid" | "dashed" | "dotted"; color: string; }; } | { type: "rotation"; centerOfRotation: { x: number; y: number; }; angle: number; } | { type: "dilation"; centerOfDilation: { x: number; y: number; }; scaleFactor: number; }; } | { type: "transversalAngleDiagram"; width: number; height: number; points: { transversalRayA: { id: string; label: string | null; }; intersection1: { id: string; label: string | null; }; intersection2: { id: string; label: string | null; }; transversalRayB: { id: string; label: string | null; }; line1RayA: { id: string; label: string | null; }; line1RayB: { id: string; label: string | null; }; line2RayA: { id: string; label: string | null; }; line2RayB: { id: string; label: string | null; }; }; line1Angle: number; line2Angle: number; transversalAngle: number; intersection1Cycle: { nextClockwiseFromTransversalA: "line1RayA" | "line1RayB"; }; intersection2Cycle: { nextClockwiseFromIntersection1: "line2RayA" | "line2RayB"; }; angles: { label: string; color: string; vertex: string; from: string; to: string; }[]; } | { type: "treeDiagram"; width: number; height: number; nodes: { id: string; label: string | null; position: { x: number; y: number; }; style: "default" | "circled"; color: string; }[]; edges: { from: string; to: string; style: "solid" | "dashed"; }[]; nodeFontSize: number; nodeRadius: number; } | { type: "triangleDiagram"; width: number; height: number; points: { A: { id: string; label: string; }; B: { id: string; label: string; }; C: { id: string; label: string; }; }; extraPoints: { id: string; label: string; }[] | null; angleArcs: { vertex: string; from: string; to: string; value: { type: "numeric"; value: number; } | { type: "symbolic"; symbol: string; }; color: string; showArc: boolean; showLabel: boolean; }[]; sideLabels: { AB: { type: "numeric"; value: number; } | { type: "symbolic"; symbol: string; } | { type: "mathml"; mathml: string; value: number; } | null; BC: { type: "numeric"; value: number; } | { type: "symbolic"; symbol: string; } | { type: "mathml"; mathml: string; value: number; } | null; CA: { type: "numeric"; value: number; } | { type: "symbolic"; symbol: string; } | { type: "mathml"; mathml: string; value: number; } | null; } | null; constructionLines: { points: string[]; style: "solid" | "dashed" | "dotted"; }[] | null; lines: string[][] | null; altitudes: { vertex: string; toSide: "AB" | "BC" | "CA"; value: { type: "numeric"; value: number; } | { type: "symbolic"; symbol: string; } | { type: "mathml"; mathml: string; value: number; } | null; style: "dashed" | "dotted"; color: string; withRightAngle: true; }[] | null; rightAngleMarks: { vertex: string; from: string; to: string; size: number | null; }[] | null; } | { type: "unitBlockDiagram"; totalBlocks: number; shadedUnitsPerBlock: number; blocksPerRow: number; blockWidth: number; blockHeight: number; shadeColor: string; } | { type: "urlImage"; url: string; alt: string; width: number | null; height: number | null; caption: string | null; attribution: string | null; } | { type: "vectorDiagram"; width: number; height: number; gridSpacing: number; showGrid: boolean; gridColor: string; vectors: { id: string; start: { x: number; y: number; }; end: { x: number; y: number; }; color: string; }[]; markers: { id: string; position: { x: number; y: number; }; shape: "square" | "circle" | "rightAngle"; size: number; color: string; }[]; } | { type: "vennDiagram"; width: number; height: number; circleA: { label: string; count: number; color: string; }; circleB: { label: string; count: number; color: string; }; intersectionCount: number; outsideCount: number; } | { type: "verticalArithmeticSetup"; title: string | null; operand1: string; operand2: string; operator: "+" | "−" | "×"; } | { type: "video"; width: number; height: number; url: string; fallbackText: string | null; } | { type: "wheelDiagram"; width: number; height: number; spokeCount: number; shadedSectorCount: number; shadeColor: string; }> | null; interactions: Record> | null; feedbackPlan: { mode: "combo" | "fallback"; dimensions: ({ responseIdentifier: string; kind: "enumerated"; keys: string[]; } | { responseIdentifier: string; kind: "binary"; })[]; combinations: { id: string; path: { responseIdentifier: string; key: string; }[]; }[]; }; feedback: { FEEDBACK__OVERALL: import("../../core/feedback").AuthoringFeedbackOverall<{ mode: "combo" | "fallback"; dimensions: ({ responseIdentifier: string; kind: "enumerated"; keys: string[]; } | { responseIdentifier: string; kind: "binary"; })[]; combinations: { id: string; path: { responseIdentifier: string; key: string; }[]; }[]; }, E>; }; }, { identifier: string; title: string; responseDeclarations: ResponseDeclaration[]; body: ({ type: "interactionRef"; interactionId: string; } | { type: "paragraph"; content: ({ type: "text"; content: string; } | { type: "math"; mathml: string; } | { type: "inlineInteractionRef"; interactionId: string; } | { type: "inlineWidgetRef"; widgetId: string; widgetType: ({ [k_1 in E[number]]: k_1; } extends infer T_14 ? { [k in keyof T_14]: T_14[k]; } : never)[E[number]]; })[]; } | { type: "unorderedList"; items: ({ type: "text"; content: string; } | { type: "math"; mathml: string; } | { type: "inlineInteractionRef"; interactionId: string; } | { type: "inlineWidgetRef"; widgetId: string; widgetType: ({ [k_1 in E[number]]: k_1; } extends infer T_15 ? { [k in keyof T_15]: T_15[k]; } : never)[E[number]]; })[][]; } | { type: "orderedList"; items: ({ type: "text"; content: string; } | { type: "math"; mathml: string; } | { type: "inlineInteractionRef"; interactionId: string; } | { type: "inlineWidgetRef"; widgetId: string; widgetType: ({ [k_1 in E[number]]: k_1; } extends infer T_16 ? { [k in keyof T_16]: T_16[k]; } : never)[E[number]]; })[][]; } | { type: "tableRich"; header: (({ type: "text"; content: string; } | { type: "math"; mathml: string; } | { type: "inlineInteractionRef"; interactionId: string; } | { type: "inlineWidgetRef"; widgetId: string; widgetType: ({ [k_1 in E[number]]: k_1; } extends infer T_17 ? { [k in keyof T_17]: T_17[k]; } : never)[E[number]]; })[] | null)[][] | null; rows: (({ type: "text"; content: string; } | { type: "math"; mathml: string; } | { type: "inlineInteractionRef"; interactionId: string; } | { type: "inlineWidgetRef"; widgetId: string; widgetType: ({ [k_1 in E[number]]: k_1; } extends infer T_18 ? { [k in keyof T_18]: T_18[k]; } : never)[E[number]]; })[] | null)[][]; } | { type: "blockquote"; content: ({ type: "text"; content: string; } | { type: "math"; mathml: string; } | { type: "inlineInteractionRef"; interactionId: string; } | { type: "inlineWidgetRef"; widgetId: string; widgetType: ({ [k_1 in E[number]]: k_1; } extends infer T_19 ? { [k in keyof T_19]: T_19[k]; } : never)[E[number]]; })[]; } | { type: "widgetRef"; widgetId: string; widgetType: ({ [k_1 in E[number]]: k_1; } extends infer T_20 ? { [k in keyof T_20]: T_20[k]; } : never)[E[number]]; })[] | null; widgets: Record" | "=")[] | null; } | { type: "freeBodyDiagram"; top: string | null; bottom: string | null; left: string | null; right: string | null; } | { type: "functionPlotGraph"; width: number; height: number; xAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; yAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; showQuadrantLabels: boolean; polylines: ({ type: "points"; id: string; points: { x: number; y: number; }[]; color: string; style: "solid" | "dashed"; label: string | null; } | { type: "function"; id: string; coefficients: number[]; xRange: { min: number; max: number; }; color: string; style: "solid" | "dashed"; label: string | null; })[]; points: { id: string; x: number; y: number; label: string; style: "open" | "closed"; }[]; } | { type: "geometricPrimitiveDiagram"; width: number; height: number; primitive: { type: "point"; pointOne: { label: string | null; }; } | { type: "segment"; pointOne: { label: string | null; }; pointTwo: { label: string | null; }; rotation: number; length: number | null; } | { type: "ray"; pointOne: { label: string | null; }; pointTwo: { label: string | null; }; rotation: number; length: number | null; } | { type: "line"; pointOne: { label: string | null; }; pointTwo: { label: string | null; }; rotation: number; length: number | null; } | { type: "arc"; pointOne: { label: string | null; }; pointTwo: { label: string | null; }; rotation: number; length: number | null; bulge: number; }; } | { type: "geometricSolidDiagram"; width: number; height: number; shape: { type: "cylinder"; radiusLabel: string | null; heightLabel: string | null; } | { type: "cone"; radiusLabel: string | null; heightLabel: string | null; } | { type: "sphere"; radiusLabel: string | null; }; } | { type: "hangerDiagram"; width: number; height: number; leftSide: { label: string | number | null; shape: "square" | "circle" | "pentagon" | "hexagon" | "triangle"; backgroundColor: string; }[]; rightSide: { label: string | number | null; shape: "square" | "circle" | "pentagon" | "hexagon" | "triangle"; backgroundColor: string; }[]; } | { type: "histogram"; width: number; height: number; title: string; xAxis: { label: string; }; yAxis: { label: string; max: number; tickInterval: number; }; separators: number[]; bins: { frequency: number; }[]; } | { type: "inequalityNumberLine"; width: number; height: number; min: number; max: number; tickInterval: number; ranges: { start: { type: "bounded"; at: { value: number; type: "open" | "closed"; }; } | { type: "unbounded"; }; end: { type: "bounded"; at: { value: number; type: "open" | "closed"; }; } | { type: "unbounded"; }; color: string; }[]; } | { type: "integerChipLegend"; positiveChipLabel: string; negativeChipLabel: string; } | { type: "integerChipModel"; width: number; height: number; chips: { sign: "plus" | "minus"; crossedOut: boolean; }[]; } | { type: "keelingCurve"; width: number; height: number; xAxisLabel: string; yAxisLabel: string; annotations: { year: number; text: string[]; }[]; } | { type: "labeledRectangleDiagram"; width: number; height: number; topLabel: string | null; bottomLabel: string | null; leftLabel: string | null; rightLabel: string | null; areaLabel: string | null; fillColor: string; borderColor: string; textColor: string; } | { type: "lineDiagram"; width: number; height: number; gridBounds: { minX: number; maxX: number; minY: number; maxY: number; }; lines: { id: string; from: { x: number; y: number; }; to: { x: number; y: number; }; style: "solid" | "dotted"; label: string | null; labelPosition: "end" | "start" | "middle"; color: string; }[]; perpendicularIndicators: { line1Id: string; line2Id: string; size: number; color: string; }[]; } | { type: "lineEquationGraph"; width: number; height: number; xAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; yAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; showQuadrantLabels: boolean; lines: { id: string; equation: { type: "slopeIntercept"; slope: number; yIntercept: number; } | { type: "standard"; A: number; B: number; C: number; } | { type: "pointSlope"; x1: number; y1: number; slope: number; }; color: string; style: "solid" | "dashed"; label: string | null; }[]; points: { id: string; x: number; y: number; label: string; style: "open" | "closed"; }[]; } | { type: "lineGraph"; width: number; height: number; title: string; xAxis: { label: string; categories: string[]; }; yAxis: { label: string; min: number; max: number; tickInterval: number; showGridLines: boolean; }; yAxisRight: { label: string; min: number; max: number; tickInterval: number; showGridLines: boolean; } | null; series: { name: string; values: number[]; color: string; style: "solid" | "dashed" | "dotted"; pointShape: "square" | "circle"; yAxis: "right" | "left"; }[]; showLegend: boolean; } | { type: "marbleDiagram"; groups: { color: string; count: number; }[]; } | { type: "nPolygon"; width: number; height: number; polygons: { shape: "rectangle" | "regularTriangle" | "regularSquare" | "regularPentagon" | "regularHexagon" | "regularHeptagon" | "regularOctagon" | "rightTrapezoid" | "pentagonTwoConsecutiveRightAngles"; fillColor: string; sideLabels: { sideIndex: number; label: { value: string | number; unit: string | null; }; }[] | null; }[]; } | { type: "numberLine"; width: number; height: number; orientation: "vertical" | "horizontal"; min: number; max: number; tickInterval: { type: "whole"; interval: number; } | { type: "fraction"; denominator: number; }; secondaryTickInterval: { type: "whole"; interval: number; } | { type: "fraction"; denominator: number; } | null; showTickLabels: boolean; highlightedPoints: ({ type: "whole"; position: number; color: string; style: "dot"; value: number; sign: "-" | "+"; } | { type: "fraction"; position: number; color: string; style: "dot"; numerator: number; denominator: number; sign: "-" | "+"; } | { type: "mixed"; position: number; color: string; style: "dot"; whole: number; numerator: number; denominator: number; sign: "-" | "+"; } | { type: "mathml"; position: number; color: string; style: "dot"; mathml: string; })[] | null; segments: { start: number; end: number; color: string; }[] | null; model: { totalCells: number; cellGroups: { count: number; color: string; }[]; bracketLabel: string; } | null; } | { type: "numberLineWithAction"; width: number; height: number; orientation: "vertical" | "horizontal"; min: number; max: number; tickInterval: { type: "whole"; interval: number; } | { type: "fraction"; numerator: 1; denominator: number; }; secondaryTickInterval: { type: "whole"; interval: number; } | { type: "fraction"; numerator: 1; denominator: number; } | null; startValue: number; actions: { delta: { type: "whole"; value: number; sign: "-" | "+"; } | { type: "fraction"; numerator: number; denominator: number; sign: "-" | "+"; } | { type: "mixed"; whole: number; numerator: number; denominator: number; sign: "-" | "+"; }; }[]; } | { type: "numberLineWithFractionGroups"; width: number; height: number; axis: { lowerBound: number; upperBound: number; denominator: number; }; boxes: { lowerBound: number; upperBound: number; fillTo: number; }; } | { type: "numberSetDiagram"; width: number; height: number; sets: { whole: { label: string | null; color: string; }; integer: { label: string | null; color: string; }; rational: { label: string | null; color: string; }; irrational: { label: string | null; color: string; }; }; } | { type: "parabolaGraph"; width: number; height: number; xAxis: { label: string; min: number; max: number; tickInterval: number; showGridLines: boolean; showTickLabels: boolean; }; yAxis: { label: string; min: number; max: number; tickInterval: number; showGridLines: boolean; showTickLabels: boolean; }; parabola: { vertex: { x: number; y: number; }; yIntercept: number; color: string; style: "solid" | "dashed"; }; } | { type: "parallelogramTrapezoidDiagram"; width: number; height: number; shape: { type: "parallelogram"; base: number; height: number; slantAngle: number; labels: { base: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; height: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; slantAngle: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; }; } | { type: "trapezoidRight"; topBase: number; bottomBase: number; height: number; labels: { topBase: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; bottomBase: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; height: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; leftSide: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; rightSide: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; }; } | { type: "trapezoid"; topBase: number; bottomBase: number; height: number; leftSideLength: number; labels: { topBase: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; bottomBase: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; height: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; leftSide: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; rightSide: { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "none"; }; }; }; } | { type: "partitionedShape"; width: number; height: number; mode: "partition"; shapes: { type: "circle" | "rectangle"; totalParts: number; shadedCells: number[]; hatchedCells: number[]; rows: number; columns: number; shadeColor: string; shadeOpacity: number; }[]; layout: "vertical" | "horizontal"; overlays: { from: { row: number; col: number; }; to: { row: number; col: number; }; style: "solid" | "dashed" | "dotted"; color: string; }[]; } | { type: "partitionedShape"; width: number; height: number; mode: "geometry"; grid: { rows: number; columns: number; opacity: number; }; figures: { vertices: { row: number; col: number; }[]; fillColor: string | null; strokeColor: string | null; }[]; lines: { from: { row: number; col: number; }; to: { row: number; col: number; }; style: "solid" | "dashed" | "dotted"; color: string; }[]; } | { type: "patternDiagram"; width: number; height: number; items: ({ type: "shape"; shape: "square" | "circle" | "rectangle" | "pentagon" | "hexagon" | "triangle" | "heptagon" | "octagon"; fillColor: string; } | { type: "placeholder"; })[]; shapeSize: number; } | { type: "pentagonIntersectionDiagram"; width: number; height: number; pentagonPoints: { id: string; x: number; y: number; }[]; intersectionLines: { from: string; to: string; }[]; khanArcs: { startX: number; startY: number; rx: number; ry: number; xAxisRotation: number; largeArcFlag: number; sweepFlag: number; endDeltaX: number; endDeltaY: number; label: string | null; color: string; }[]; } | { type: "periodicTable"; alt: string; caption: string | null; } | { type: "pesSpectrum"; title: string | null; width: number; height: number; yAxisLabel: string; peaks: { energy: number; heightUnits: number; topLabel: string | null; }[]; } | { type: "pieChart"; width: number; height: number; charts: { title: string; slices: { label: string; value: number; color: string; }[]; }[]; layout: "vertical"; spacing: number; } | { type: "pictograph"; title: string | null; key: { icon: string; label: string | null; }; data: { category: string; iconCount: number; }[]; } | { type: "pointPlotGraph"; width: number; height: number; xAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; yAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; showQuadrantLabels: boolean; points: { id: string; x: number; y: number; label: string; style: "open" | "closed"; }[]; } | { type: "polygonGraph"; width: number; height: number; xAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; yAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; showQuadrantLabels: boolean; points: { id: string; x: number; y: number; label: string; style: "open" | "closed"; }[]; polygons: { vertices: string[]; isClosed: boolean; fillColor: string; strokeColor: string; label: string; }[]; } | { type: "polyhedronDiagram"; width: number; height: number; shape: { type: "rectangularPrism"; } | { type: "triangularPrism"; } | { type: "rectangularPyramid"; } | { type: "triangularPyramid"; }; labels: { text: string; target: string; }[]; segments: { from: { type: "vertex"; index: number; } | { type: "edgeMidpoint"; a: number; b: number; } | { type: "edgePoint"; a: number; b: number; t: number; } | { type: "faceCentroid"; face: "frontFace" | "backFace" | "leftFace" | "rightFace" | "topFace" | "bottomFace" | "baseFace"; }; to: { type: "vertex"; index: number; } | { type: "edgeMidpoint"; a: number; b: number; } | { type: "edgePoint"; a: number; b: number; t: number; } | { type: "faceCentroid"; face: "frontFace" | "backFace" | "leftFace" | "rightFace" | "topFace" | "bottomFace" | "baseFace"; }; label: string | null; }[] | null; diagonals: { fromVertexIndex: number; toVertexIndex: number; label: string | null; }[]; angleMarkers: { type: "right"; at: { type: "vertex"; index: number; } | { type: "edgeMidpoint"; a: number; b: number; } | { type: "edgePoint"; a: number; b: number; t: number; } | { type: "faceCentroid"; face: "frontFace" | "backFace" | "leftFace" | "rightFace" | "topFace" | "bottomFace" | "baseFace"; }; from: { type: "vertex"; index: number; } | { type: "edgeMidpoint"; a: number; b: number; } | { type: "edgePoint"; a: number; b: number; t: number; } | { type: "faceCentroid"; face: "frontFace" | "backFace" | "leftFace" | "rightFace" | "topFace" | "bottomFace" | "baseFace"; }; to: { type: "vertex"; index: number; } | { type: "edgeMidpoint"; a: number; b: number; } | { type: "edgePoint"; a: number; b: number; t: number; } | { type: "faceCentroid"; face: "frontFace" | "backFace" | "leftFace" | "rightFace" | "topFace" | "bottomFace" | "baseFace"; }; sizePx: number; }[] | null; shadedFace: string | null; showHiddenEdges: boolean; } | { polyhedronType: "cube"; width: number; height: number; base: { type: "square"; side: number; }; showLabels: boolean | null; type: "polyhedronNetDiagram"; } | { polyhedronType: "rectangularPrism"; width: number; height: number; base: { type: "rectangle"; length: number; width: number; }; lateralHeight: number; showLabels: boolean | null; type: "polyhedronNetDiagram"; } | { polyhedronType: "triangularPrism"; width: number; height: number; base: { type: "triangle"; base: number; height: number; side1: number; side2: number; }; lateralHeight: number; showLabels: boolean | null; type: "polyhedronNetDiagram"; } | { polyhedronType: "squarePyramid"; width: number; height: number; base: { type: "square"; side: number; }; lateralHeight: number; showLabels: boolean | null; type: "polyhedronNetDiagram"; } | { polyhedronType: "triangularPyramid"; width: number; height: number; base: { type: "triangle"; base: number; height: number; side1: number; side2: number; }; lateralHeight: number; showLabels: boolean | null; type: "polyhedronNetDiagram"; } | { polyhedronType: "pentagonalPyramid"; width: number; height: number; base: { type: "pentagon"; side: number; }; lateralHeight: number; showLabels: boolean | null; type: "polyhedronNetDiagram"; } | { type: "populationBarChart"; width: number; height: number; xAxisLabel: string; yAxis: { label: string; min: number; max: number; tickInterval: number; }; xAxisVisibleLabels: string[]; data: { label: string; value: number; }[]; barColor: string; gridColor: string; } | { type: "populationChangeEventGraph"; width: number; height: number; xAxisLabel: string; yAxisLabel: string; xAxisMin: number; xAxisMax: number; yAxisMin: number; yAxisMax: number; beforeSegment: { points: { x: number; y: number; }[]; color: string; label: string; }; afterSegment: { points: { x: number; y: number; }[]; color: string; label: string; }; showLegend: boolean; } | { type: "probabilitySpinner"; width: number; height: number; groups: { count: number; emoji: string | null; color: string; }[]; pointerAngle: number; title: string | null; } | { type: "protractorAngleDiagram"; width: number; height: number; startingReading: number; angleDegrees: number; startPointLabel: string; centerPointLabel: string; endPointLabel: string; hideEndRay: boolean; hideSector: boolean; arcLabels: { label: string; degrees: number; }[]; } | { type: "pythagoreanProofDiagram"; width: number; height: number; sideA: { label: string | null; square: { type: "unknown"; color: string; } | { type: "value"; area: number; color: string; } | null; }; sideB: { label: string | null; square: { type: "unknown"; color: string; } | { type: "value"; area: number; color: string; } | null; }; sideC: { label: string | null; square: { type: "unknown"; color: string; } | { type: "value"; area: number; color: string; } | null; }; } | { type: "quadrantDiagram"; width: number; height: number; } | { type: "quantityFractionalDiagram"; width: number; height: number; shape: { type: "rectangle"; rows: number; columns: number; } | { type: "circle"; } | { type: "polygon"; sides: number; rotation: number; }; numerator: number; denominator: number; shadeColor: string; shapesPerRow: number; } | { type: "radiallyConstrainedAngleDiagram"; width: number; height: number; centerLabel: string | null; rayLabels: string[]; angles: { fromRayLabel: string; toRayLabel: string; value: number; color: string; }[]; } | { type: "ratioBoxDiagram"; width: number; height: number; items: { count: number; color: string; style: "filled" | "outline"; }[]; itemsPerRow: number; boxes: { startRow: number; endRow: number; startCol: number; endCol: number; label: string | null; }[]; partitions: number; layout: "sequential" | "grouped"; } | { type: "rectangularFrameDiagram"; width: number; height: number; outerLength: number; outerWidth: number; outerHeight: number; thickness: number; labels: { text: string; target: string; }[]; diagonals: { fromVertexIndex: number; toVertexIndex: number; label: string | null; style: "solid" | "dashed" | "dotted"; }[]; shadedFace: string | null; showHiddenEdges: boolean; } | { type: "scaleCopiesSlider"; width: number; height: number; shapeA: { label: string | null; before: { width: number; height: number; }; after: { width: number; height: number; }; color: string; }; shapeB: { label: string | null; before: { width: number; height: number; }; after: { width: number; height: number; }; color: string; }; } | { type: "scatterPlot"; width: number; height: number; title: string; xAxis: { label: string; min: number; max: number; tickInterval: number; gridLines: boolean; }; yAxis: { label: string; min: number; max: number; tickInterval: number; gridLines: boolean; }; points: { x: number; y: number; label: string; }[]; lines: ({ type: "bestFit"; method: "linear" | "quadratic" | "exponential"; label: string; style: { color: string; strokeWidth: number; dash: boolean; }; } | { type: "twoPoints"; a: { x: number; y: number; }; b: { x: number; y: number; }; label: string; style: { color: string; strokeWidth: number; dash: boolean; }; })[]; } | { type: "shapeTransformationGraph"; width: number; height: number; xAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; yAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; showQuadrantLabels: boolean; preImage: { vertices: { x: number; y: number; }[]; color: string; label: string | null; }; transformation: { type: "translation"; vector: { x: number; y: number; }; } | { type: "reflection"; axis: "x" | "y"; } | { type: "rotation"; center: { x: number; y: number; }; angle: number; } | { type: "dilation"; center: { x: number; y: number; }; scaleFactor: number; }; points: { id: string; x: number; y: number; label: string; style: "open" | "closed"; }[]; lines: { id: string; equation: { type: "slopeIntercept"; slope: number; yIntercept: number; } | { type: "standard"; A: number; B: number; C: number; } | { type: "pointSlope"; x1: number; y1: number; slope: number; }; color: string; style: "solid" | "dashed"; label: string | null; }[] | null; } | { type: "simpleArrow"; width: number; height: number; orientation: "vertical" | "horizontal"; direction: "forward" | "backward" | "bidirectional"; color: string; strokeWidth: number; arrowSize: number; circles: { position: number; radius: number; fill: string; }[]; } | { type: "sinCosineWidget"; width: number; height: number; xAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; yAxis: { label: string | null; min: number; max: number; tickInterval: number; showGridLines: boolean; }; plots: { type: "sin" | "cos"; color: string; strokeWidth: number; style: "solid" | "dashed"; }[]; points: { id: string; x: number; y: number; label: string; style: "open" | "closed"; }[]; } | { type: "stackedItemsDiagram"; width: number; height: number; altText: string; baseItem: { emoji: string; size: number; label: string | null; }; stackedItem: { emoji: string; size: number; label: string | null; }; count: number; orientation: "vertical" | "horizontal"; overlap: number; } | { type: "stemLeafPlot"; title: string; data: { stem: string | number; leaves: (string | number)[]; }[]; keyExample: { stem: string | number; leaf: string | number; value: string | number; }; stemLabel: string; leafLabel: string; } | { type: "stickPlot"; width: number; height: number; title: string; xAxis: { label: string; categories: string[]; showGridLines: boolean; }; yAxis: { label: string; min: number; max: number; tickInterval: number; showGridLines: boolean; }; sticks: { xLabel: string; yValue: number; color: string; }[]; stickWidthPx: number; references: { xLabel: string; label: string; color: string; }[]; } | { type: "subtractionWithRegrouping"; minuend: number; subtrahend: number; showRegrouping: boolean; showAnswer: boolean; revealUpTo: "ones" | "tens" | "hundreds" | "thousands" | "ten-thousands" | "complete"; } | { type: "symmetryDiagram"; width: number; height: number; shape: "square" | "rectangle" | "regularTriangle" | "isoscelesTrapezoid" | "isoscelesTriangle" | "heart" | "rhombus" | "fourPointStar"; drawCorrectLines: boolean; drawIncorrectLines: boolean; shapeColor: string; } | { type: "tapeDiagram"; width: number; height: number; referenceUnitsTotal: number | null; topTape: { label: string | null; unitsTotal: number; extent: { by: "units"; startUnit: number; endUnit: number; } | { by: "percent"; startPct: number; endPct: number; } | null; grid: { show: boolean; }; roundedCaps: boolean | null; fills: { span: { by: "units"; startUnit: number; endUnit: number; } | { by: "percent"; startPct: number; endPct: number; }; style: { kind: "solid"; fill: string; fillOpacity: number | null; } | { kind: "outline"; stroke: string; strokeWidth: number; } | { kind: "hatch"; color: string; strokeWidth: number; spacing: number | null; angleDeg: number | null; }; label: { text: string; placement: "inside" | "above" | "below"; } | null; }[]; }; bottomTape: { label: string | null; unitsTotal: number; extent: { by: "units"; startUnit: number; endUnit: number; } | { by: "percent"; startPct: number; endPct: number; } | null; grid: { show: boolean; }; roundedCaps: boolean | null; fills: { span: { by: "units"; startUnit: number; endUnit: number; } | { by: "percent"; startPct: number; endPct: number; }; style: { kind: "solid"; fill: string; fillOpacity: number | null; } | { kind: "outline"; stroke: string; strokeWidth: number; } | { kind: "hatch"; color: string; strokeWidth: number; spacing: number | null; angleDeg: number | null; }; label: { text: string; placement: "inside" | "above" | "below"; } | null; }[]; } | null; brackets: { tape: "bottom" | "top"; span: { by: "units"; startUnit: number; endUnit: number; } | { by: "percent"; startPct: number; endPct: number; }; labelTop: string | null; labelBottom: string | null; style: { kind: "straight"; stroke: string | null; strokeWidth: number | null; } | { kind: "curly"; stroke: string | null; strokeWidth: number | null; }; }[]; } | { type: "transformationDiagram"; width: number; height: number; preImage: { vertices: { x: number; y: number; }[]; label: string | null; fillColor: string; strokeColor: string; vertexLabels: string[]; angleMarks: { vertexIndex: number; radius: number; label: string | null; labelDistance: number; }[]; sideLengths: { value: string; position: "inside" | "outside"; offset: number; }[]; }; transformation: { type: "translation"; vector: { x: number; y: number; }; } | { type: "reflection"; lineOfReflection: { from: { x: number; y: number; }; to: { x: number; y: number; }; style: "solid" | "dashed" | "dotted"; color: string; }; } | { type: "rotation"; centerOfRotation: { x: number; y: number; }; angle: number; } | { type: "dilation"; centerOfDilation: { x: number; y: number; }; scaleFactor: number; }; } | { type: "transversalAngleDiagram"; width: number; height: number; points: { transversalRayA: { id: string; label: string | null; }; intersection1: { id: string; label: string | null; }; intersection2: { id: string; label: string | null; }; transversalRayB: { id: string; label: string | null; }; line1RayA: { id: string; label: string | null; }; line1RayB: { id: string; label: string | null; }; line2RayA: { id: string; label: string | null; }; line2RayB: { id: string; label: string | null; }; }; line1Angle: number; line2Angle: number; transversalAngle: number; intersection1Cycle: { nextClockwiseFromTransversalA: "line1RayA" | "line1RayB"; }; intersection2Cycle: { nextClockwiseFromIntersection1: "line2RayA" | "line2RayB"; }; angles: { label: string; color: string; vertex: string; from: string; to: string; }[]; } | { type: "treeDiagram"; width: number; height: number; nodes: { id: string; label: string | null; position: { x: number; y: number; }; style: "default" | "circled"; color: string; }[]; edges: { from: string; to: string; style: "solid" | "dashed"; }[]; nodeFontSize: number; nodeRadius: number; } | { type: "triangleDiagram"; width: number; height: number; points: { A: { id: string; label: string; }; B: { id: string; label: string; }; C: { id: string; label: string; }; }; extraPoints: { id: string; label: string; }[] | null; angleArcs: { vertex: string; from: string; to: string; value: { type: "numeric"; value: number; } | { type: "symbolic"; symbol: string; }; color: string; showArc: boolean; showLabel: boolean; }[]; sideLabels: { AB: { type: "numeric"; value: number; } | { type: "symbolic"; symbol: string; } | { type: "mathml"; mathml: string; value: number; } | null; BC: { type: "numeric"; value: number; } | { type: "symbolic"; symbol: string; } | { type: "mathml"; mathml: string; value: number; } | null; CA: { type: "numeric"; value: number; } | { type: "symbolic"; symbol: string; } | { type: "mathml"; mathml: string; value: number; } | null; } | null; constructionLines: { points: string[]; style: "solid" | "dashed" | "dotted"; }[] | null; lines: string[][] | null; altitudes: { vertex: string; toSide: "AB" | "BC" | "CA"; value: { type: "numeric"; value: number; } | { type: "symbolic"; symbol: string; } | { type: "mathml"; mathml: string; value: number; } | null; style: "dashed" | "dotted"; color: string; withRightAngle: true; }[] | null; rightAngleMarks: { vertex: string; from: string; to: string; size: number | null; }[] | null; } | { type: "unitBlockDiagram"; totalBlocks: number; shadedUnitsPerBlock: number; blocksPerRow: number; blockWidth: number; blockHeight: number; shadeColor: string; } | { type: "urlImage"; url: string; alt: string; width: number | null; height: number | null; caption: string | null; attribution: string | null; } | { type: "vectorDiagram"; width: number; height: number; gridSpacing: number; showGrid: boolean; gridColor: string; vectors: { id: string; start: { x: number; y: number; }; end: { x: number; y: number; }; color: string; }[]; markers: { id: string; position: { x: number; y: number; }; shape: "square" | "circle" | "rightAngle"; size: number; color: string; }[]; } | { type: "vennDiagram"; width: number; height: number; circleA: { label: string; count: number; color: string; }; circleB: { label: string; count: number; color: string; }; intersectionCount: number; outsideCount: number; } | { type: "verticalArithmeticSetup"; title: string | null; operand1: string; operand2: string; operator: "+" | "−" | "×"; } | { type: "video"; width: number; height: number; url: string; fallbackText: string | null; } | { type: "wheelDiagram"; width: number; height: number; spokeCount: number; shadedSectorCount: number; shadeColor: string; }> | null; interactions: Record> | null; feedbackPlan: { mode: "combo" | "fallback"; dimensions: ({ responseIdentifier: string; kind: "enumerated"; keys: string[]; } | { responseIdentifier: string; kind: "binary"; })[]; combinations: { id: string; path: { responseIdentifier: string; key: string; }[]; }[]; }; feedback: { FEEDBACK__OVERALL: import("../../core/feedback").AuthoringFeedbackOverall<{ mode: "combo" | "fallback"; dimensions: ({ responseIdentifier: string; kind: "enumerated"; keys: string[]; } | { responseIdentifier: string; kind: "binary"; })[]; combinations: { id: string; path: { responseIdentifier: string; key: string; }[]; }[]; }, E>; }; }>>; AnyInteractionSchema: z.ZodType, unknown, z.core.$ZodTypeInternals, unknown>>; AssessmentItemShellSchema: z.ZodType, unknown, z.core.$ZodTypeInternals, unknown>>; }; //# sourceMappingURL=schema.d.ts.map