import { type NumberLineDefaultWidgetOptions } from "@khanacademy/perseus-core";
import * as React from "react";
import type { Changeable } from "@khanacademy/perseus";
type Range = [number, number];
type Props = {
    range: number[];
    labelRange: ReadonlyArray<number>;
    labelStyle: string;
    labelTicks: boolean;
    divisionRange: ReadonlyArray<number>;
    numDivisions: number;
    snapDivisions: number;
    tickStep: number;
    correctRel: "lt" | "gt" | "le" | "ge" | "eq";
    correctX: number;
    initialX: number;
    isTickCtrl?: boolean;
    static?: boolean;
    showTooltips: boolean;
} & Changeable.ChangeableProps;
/**
 * An editor for adding a number line widget that allows users to mark
 * positions, intervals, and points on a number line.
 */
declare class NumberLineEditor extends React.Component<Props> {
    static widgetName: "number-line";
    static defaultProps: NumberLineDefaultWidgetOptions;
    onRangeChange: (arg1: Range) => void;
    onLabelRangeChange: (arg1: number, arg2: number) => void;
    onDivisionRangeChange: (arg1: Range) => void;
    onNumChange: (arg1: "correctX" | "initialX" | "snapDivisions", arg2: number) => void;
    onNumDivisionsChange: (arg1: number) => void;
    onTickStepChange: (arg1: number) => void;
    onChangeRelation: (arg1: React.ChangeEvent<HTMLInputElement>) => void;
    onLabelStyleChange: (arg1: any) => void;
    serialize: () => any;
    render(): React.ReactNode;
}
export default NumberLineEditor;
