import React, { DragEvent, ElementType, MouseEvent as ReactMouseEvent, AllHTMLAttributes } from 'react'; import { VKUITouchEvent } from '../../lib/touch'; import { HasRootRef } from '../../types'; export interface TouchProps extends AllHTMLAttributes, HasRootRef { onEnter?(outputEvent: MouseEvent): void; onLeave?(outputEvent: MouseEvent): void; onStart?(outputEvent: TouchEvent): void; onStartX?(outputEvent: TouchEvent): void; onStartY?(outputEvent: TouchEvent): void; onMove?(outputEvent: TouchEvent): void; onMoveX?(outputEvent: TouchEvent): void; onMoveY?(outputEvent: TouchEvent): void; onEnd?(outputEvent: TouchEvent): void; onEndX?(outputEvent: TouchEvent): void; onEndY?(outputEvent: TouchEvent): void; useCapture?: boolean; noSlideClick?: boolean; Component?: ElementType; } export interface Gesture { startX?: number; startY?: number; startT?: Date; isPressed?: boolean; isY?: boolean; isX?: boolean; isSlideX?: boolean; isSlideY?: boolean; isSlide?: boolean; shiftX?: number; shiftY?: number; shiftXAbs?: number; shiftYAbs?: number; } export interface TouchEvent extends Gesture { originalEvent: VKUITouchEvent; } export declare type TouchEventHandler = (e: TouchEvent) => void; export declare type ClickHandler = (e: ReactMouseEvent) => void; export declare type DragHandler = (e: DragEvent) => void; declare const _default: React.ComponentType; export default _default;