type EndPoint = 'full' | 'empty'; /** `correct` is set in evaluate mode only. */ export type PlottedElement = { correct?: boolean; } & ({ type: 'point'; pointType: EndPoint; position: number; } | { type: 'line'; leftPoint: EndPoint; rightPoint: EndPoint; position: { left: number; right: number; }; } | { type: 'ray'; direction: 'positive' | 'negative'; pointType: EndPoint; position: number; }); interface DescriptionContext { fraction?: boolean; language?: string; } export interface NumberLineLabelInput extends DescriptionContext { domain: { min: number; max: number; }; ticks: { minor: number; major: number; }; width: number; } /** Names the number line by its range and its tick spacing as drawn, after the width-based limits. */ export declare function labelNumberLine({ domain, ticks, width, fraction, language }: NumberLineLabelInput): string; /** Describes each plotted element: its position, whether each endpoint is included, a ray's direction and, in evaluate mode, its correctness. */ export declare function describePlottedElements(elements: readonly PlottedElement[], { fraction, language }?: DescriptionContext): string; export {};