import { type Nullish } from 'parsnip-kit'; import type { LooseRequired, RemoveUndefinedFromFields } from '../share/type'; import type { SliderProps } from './type'; import { type ShallowRef } from 'vue'; export declare function clampValue(value: number, props: RemoveUndefinedFromFields, 'min' | 'max'>): number; export declare const transformModelValue: (value: number | [number, number] | Nullish, props: RemoveUndefinedFromFields, "min" | "max">, emits: (evt: "update:modelValue", value: number | [number, number]) => void) => number | [number, number]; export declare const getTargetThumbEl: (e: MouseEvent | TouchEvent, direction: SliderProps["direction"], thumbStartRef: ShallowRef, thumbEndRef: ShallowRef) => { thumbEl: HTMLDivElement | null; targetType: "start"; } | { thumbEl: HTMLDivElement | null; targetType: "end"; }; export declare const calcValueFromEvent: (e: MouseEvent | TouchEvent, sliderEl: HTMLDivElement, thumbEl: HTMLDivElement, valueRange: number, props: RemoveUndefinedFromFields, "min" | "max">) => number; export declare const calcThumbLeft: (value: number, sliderRect: { width: number; height: number; }, thumbRect: { width: number; height: number; }, valueRange: number, props: RemoveUndefinedFromFields, "min" | "max">) => number; export declare const updateMarkPoints: (rect: { width: number; height: number; }, valueRange: number, props: RemoveUndefinedFromFields, "min" | "max">) => ({ value: number; left: number; markLeft: number; label?: undefined; } | { value: number; label: string | undefined; left: number; markLeft: number; })[]; export declare const getRangeValue: (modelValue: SliderProps["modelValue"], index: 0 | 1, props: RemoveUndefinedFromFields, "min" | "max">) => number | null | undefined; export declare const getSingleValue: (modelValue: SliderProps["modelValue"]) => number | null | undefined;