import { Ref, EmitsOptions, EmitsToProps } from 'vue'; import { EmitMethods } from '../ele-app/types'; /** * 重置组件表单验证 */ export declare function useFormItemRest(): void; /** * useTimer 返回结果 */ export type UseTimerResult = [ (callback?: () => void, timeout?: number) => void, () => void, Ref ]; /** * 定时器 * @param ms 等待时间 * @param cb 执行方法 */ export declare function useTimer(ms?: number | (() => number), cb?: () => void): UseTimerResult; /** * useMediaQuery 返回结果 */ export type UseMediaQueryResult = [MediaQueryList, () => void, () => void]; /** * 媒体查询 * @param query 媒体查询字符串 * @param onChange 改变回调 */ export declare function useMediaQuery(query: string, onChange?: () => void): UseMediaQueryResult; /** * useMobile 返回结果 */ export type UseMobileResult = [Ref, () => void, () => void]; /** * 获取是否是移动端小屏幕 * @param onChange 值改变回调 */ export declare function useMobile(onChange?: (isMobile: boolean) => void): UseMobileResult; /** * useMobileDevice 返回结果 */ export type UseMobileDeviceResult = [Ref, () => void, () => void]; /** * 获取是否是移动端触摸设备 * @param onChange 值改变回调 */ export declare function useMobileDevice(onChange?: (isMobile: boolean) => void): UseMobileDeviceResult; /** * 窗口事件监听 * @param event 事件 * @param listener 回调 */ export declare function useWindowListener(event: string | EventListenerOrEventListenerObject, listener?: EventListenerOrEventListenerObject): void; /** * 折叠展开动画 */ export declare function useCollapseAnim(): { handleBeforeEnter: (el: HTMLElement) => void; handleEnter: (el: HTMLElement) => void; handleAfterEnter: (el: HTMLElement) => void; handleBeforeLeave: (el: HTMLElement) => void; handleLeave: (el: HTMLElement) => void; handleAfterLeave: (el: HTMLElement) => void; }; /** * 鼠标滚轮事件回调方法参数 */ export interface UseMousewheelCallbackParam { /** 事件对象 */ e: MouseEvent; /** 方向 */ direction: 'up' | 'down'; } /** * 鼠标滚轮事件 * @param cb 回调 */ export declare function useMousewheel(cb?: (p: UseMousewheelCallbackParam) => void): { handleMousewheel: (e: MouseEvent) => void; handleFirefoxMousewheel: (e: MouseEvent) => void; bindMousewheel: (el: HTMLElement) => void; unbindMousewheel: (el: HTMLElement) => void; }; /** * 触摸事件回调参数 */ export interface UseTouchEventCallbackParam { /** 事件对象 */ e: T; /** 开始横向位置 */ startX: number | null; /** 开始纵向位置 */ startY: number | null; /** 横向移动距离 */ distanceX?: number | null; /** 纵向移动距离 */ distanceY?: number | null; } /** * 触摸事件参数 */ export interface UseTouchEventOption { /** 触摸开始的回调 */ start?: (param: UseTouchEventCallbackParam) => void; /** 触摸移动的回调 */ move?: (param: UseTouchEventCallbackParam) => void; /** 触摸结束的回调 */ end?: (param: UseTouchEventCallbackParam) => void; /** touchmove 事件参数 */ touchmoveOptions?: any; } /** * 触摸事件 * @param option 参数 */ export declare function useTouchEvent(option?: UseTouchEventOption): { handleTouchStart: (e: TouchEvent) => void; handleTouchMove: (e: TouchEvent) => void; handleTouchEnd: (e: TouchEvent) => void; bindTouchEvent: (el: HTMLElement) => void; unbindTouchEvent: (el: HTMLElement) => void; }; /** * 移动事件对象 */ export type MoveEvent = MouseEvent | TouchEvent; /** * 鼠标移动事件或触摸移动事件 * @param option 参数 */ export declare function useMoveEvent(option?: UseTouchEventOption): { handleMousedown: (e: MouseEvent) => void; handleTouchstart: (e: TouchEvent) => void; }; /** * useComponentEvents 返回结果 */ export interface UseComponentEventsResult { emitMethods: EmitMethods; emitProps: Required>; } /** * 二次封装组件事件处理 hook */ export declare function useComponentEvents(events: T, emit: any): UseComponentEventsResult; /** * 高级选项数据 hook */ export declare function useProOptions(props: Record, name?: string): { optionData: Ref; reloadOptions: (params?: any) => void; };