import { PropType, ExtractPropTypes, ComputedRef, CSSProperties } from 'vue'; import { ISharedRenderlessFunctionParams, ISharedRenderlessParamUtils } from '../../../shared.type'; import { getMarkList, getActiveButtonValue, handleSlotInputFocus, handleSlotInputBlur, handleSlotInput, updateSlotValue } from './renderless'; export type { ISharedRenderlessParamHooks } from '../../../shared.type'; export declare const $constants: { TIP_HEIGHT: number; BUTTON_SIZE: number; HALF_BAR_HEIGHT: number; PC_TIP_CLS: string; PC_SLIDER_CLS: string; PC_RANGE_CLS: string; PC_BUTTON_CLS: string; PC_LABEL_CLS: string; PC_LEFT_SVG_CLS: string; PC_RIGHT_SVG_CLS: string; MOBILE_TIP_CLS: string; MOBILE_SLIDER_CLS: string; MOBILE_RANGE_CLS: string; MOBILE_BUTTON_CLS: string; MOBILE_LEFT_SVG_CLS: string; MOBILE_RIGHT_SVG_CLS: string; Mode: string; tipCls(mode: any): string; sliderCls(mode: any): string; rangeCls(mode: any): string; buttonCls(mode: any): string; leftSvgCls(mode: any): string; rightSvgCls(mode: any): string; TIP_CLS(mode: any): string; SLIDER_CLS(mode: any): string; RANGE_CLS(mode: any): string; BUTTON_CLS(mode: any): string; }; export declare const sliderProps: { _constants: { type: ObjectConstructor; default: () => { TIP_HEIGHT: number; BUTTON_SIZE: number; HALF_BAR_HEIGHT: number; PC_TIP_CLS: string; PC_SLIDER_CLS: string; PC_RANGE_CLS: string; PC_BUTTON_CLS: string; PC_LABEL_CLS: string; PC_LEFT_SVG_CLS: string; PC_RIGHT_SVG_CLS: string; MOBILE_TIP_CLS: string; MOBILE_SLIDER_CLS: string; MOBILE_RANGE_CLS: string; MOBILE_BUTTON_CLS: string; MOBILE_LEFT_SVG_CLS: string; MOBILE_RIGHT_SVG_CLS: string; Mode: string; tipCls(mode: any): string; sliderCls(mode: any): string; rangeCls(mode: any): string; buttonCls(mode: any): string; leftSvgCls(mode: any): string; rightSvgCls(mode: any): string; TIP_CLS(mode: any): string; SLIDER_CLS(mode: any): string; RANGE_CLS(mode: any): string; BUTTON_CLS(mode: any): string; }; }; formatTooltip: FunctionConstructor; disabled: { type: BooleanConstructor; default: boolean; }; height: { type: StringConstructor; default: string; }; max: { type: NumberConstructor; default: number; }; min: { type: NumberConstructor; default: number; }; modelValue: { type: (ArrayConstructor | NumberConstructor)[]; default: number; }; numPages: { type: NumberConstructor; default: number; }; range: { type: BooleanConstructor; default: boolean; }; showInput: { type: BooleanConstructor; default: boolean; }; showTip: { type: BooleanConstructor; default: boolean; }; step: { type: NumberConstructor; default: number; }; vertical: { type: BooleanConstructor; default: boolean; }; unit: { type: StringConstructor; default: string; }; showSteps: { type: BooleanConstructor; default: boolean; }; showLabel: { type: BooleanConstructor; default: boolean; }; changeCompat: { type: BooleanConstructor; default: boolean; }; marks: { type: PropType>; }; }; export type ISliderProps = ExtractPropTypes; export type ISliderConstants = typeof $constants; export interface ISliderState { tipStyle: object; barStyle: CSSProperties; moveStyle: object; points: object[]; labels: object[]; isDrag: boolean; sliderSize: number; inputValue: [number, number]; showTip: boolean; activeValue: number; activeIndex: number; isDouble: boolean; leftBtnValue: number; sliderOffset: DOMRect | null; rightBtnValue: number; leftBtnStyle: string; leftBtnPercent: number; leftBtnShow: true; mouseOuterBtn: boolean; rightBtnStyle: string; rightBtnPercent: number; rightBtnShow: boolean; innerTrigger: boolean; rangeDiff: ComputedRef; tipValue: ComputedRef; formDisabled: ComputedRef; disabled: boolean; /** 使用这个值作为插槽中输入的值,而不是直接用activeValue,来实现在输入时不会被max min属性计算而改变 */ slotValue: number | number[] | string; /** 是否正在输入 */ isSlotTyping: boolean; markList: ReturnType; } export interface ISliderApi { state: ISliderState; hideTip: () => boolean; formatTipValue: () => string; setBarStyle: () => object; changeActiveValue: (value: boolean) => void; bindResize: () => void; setButtonStyle: () => void; calculateValue: (event: Event) => number; getActiveButtonValue: ReturnType; getActiveButtonIndex: (event: Event) => number; setTipStyle: () => void; customAfterAppearHook: () => void; customBeforeAppearHook: () => void; bindEvent: () => void; autoSlider: () => void; unBindEvent: () => void; displayTip: () => void; bindKeyDown: () => void; bindMouseUp: () => void; bindMouseMove: () => void; bindMouseDown: () => void; setActiveButtonValue: (currentValue: number) => void; initSlider: (inputValue: number | number[]) => void; watchModelValue: () => void; watchActiveValue: () => void; getPoints: () => void; getLabels: () => void; inputValueChange: () => void; inputOnChange: () => void; handleSlotInputFocus: ReturnType; handleSlotInputBlur: ReturnType; handleSlotInput: ReturnType; getMarkList: ReturnType; updateSlotValue: ReturnType; } export type ISliderRenderlessParams = ISharedRenderlessFunctionParams & { state: ISliderState; props: ISliderProps; api: ISliderApi; event: Event; currentValue: number; }; export type ISliderRenderlessParamUtils = ISharedRenderlessParamUtils;