import React from 'react'; import type { PickClassStyleType, ReactPropsBase } from 'jamis-core'; import type { MultipleValue, RangeFormatValue } from './types'; export interface RangeItemProps extends ReactPropsBase, PickClassStyleType { [propName: string]: any; } export declare class Range extends React.Component { multipleValue: MultipleValue; trackRef: React.RefObject; /** * 接收组件value变换 * value变换 -> Range.updateValue * @param value */ updateValue(value: RangeFormatValue): void; /** * 获取 坐标、宽高 */ getBoundingClient(dom: Element): { x: number; y: number; width: number; height: number; }; /** * 坐标 -> 滑块值 * @param pageX target.target 坐标 * @returns 滑块值 */ pageXToValue(pageX: number): any; /** * 滑块改变事件 * @param pageX target.pageX 坐标 * @param type min max * @returns void */ onChange(pageX: number, type?: string): void; /** * 获取step为单位的value * @param value 拖拽后计算的value * @param step 步长 * @returns step为单位的value */ getStepValue(value: number, step: number): number; /** * 点击滑轨 -> 触发onchange 改变value * @param e event * @returns void */ onClickTrack(e: any): void; /** * 设置步长 * @returns ReactNode */ renderSteps(): any; /** * 双滑块改变最大值、最小值 * @param pageX 拖拽后的pageX * @param type 'min' | 'max' */ onGetChangeValue(pageX: number, type: keyof MultipleValue): void; /** * 计算每个标记 position.left * @param value 滑块值 * @returns */ getOffsetLeft(value: number | string): string; render(): JSX.Element; }