type ExtractArgs = T[keyof T] extends (...args: infer A) => any ? A : any[]; type EventState> = T & { (key?: keyof T, fun?: T[keyof T]): EventState; (target?: Partial): EventState; }; type Vec2 = [x: number, y: number]; type PinchDevice = 'mouse' | 'pointer' | 'touch' | 'wheel' | 'gesture'; interface PinchState { device: PinchDevice; active: boolean; _active: boolean; value: Vec2; _value: Vec2; delta: Vec2; offset: Vec2; movement: Vec2; initial: Vec2; origin: Vec2; _touchIds: number[]; _pointerEvents: Map; scale: number; turns: number; target: El; event: Event | null; memo: Record; timeout: number; clearTimeout: () => void; isPinchStart: boolean; isPinching: boolean; isPinchEnd: boolean; pinch: (self: PinchState) => void; pinchStart: (e: Event) => void; pinching: (e: Event) => void; pinchEnd: (e: Event) => void; mount: (target: El) => void; clean: () => void; ref: (el: El | null) => void; } type PinchArg = Partial> | PinchState['pinch']; declare const pinchDevice: (touch?: boolean) => "gesture" | "touch" | "pointer" | "wheel"; interface DistanceAngle { distance: number; angle: number; origin: Vec2; } declare const EVENT_FOR_PINCH: { touch: { start: string; move: string; end: string; cancel: string; }; pointer: { start: string; move: string; end: string; cancel: string; }; gesture: { start: string; change: string; end: string; }; }; declare const pinchEvent: (config?: Partial>) => EventState>; export { type DistanceAngle, EVENT_FOR_PINCH, type PinchArg, type PinchDevice, type PinchState, pinchDevice, pinchEvent };