export declare class Wheel { static of(el: HTMLElement, options?: WheelOptions): Wheel; static shouldWheelX: (el: HTMLElement, delta: number) => boolean; static shouldWheelY: (el: HTMLElement, delta: number) => boolean; el: HTMLElement; needThresholdWait: boolean; animationFrameID: number | null; deltaX: number; deltaY: number; isTouching: boolean; startTime: number; startX: number; startY: number; moveX: number; moveY: number; listeners: WheelFunction[]; timer: any; options: WheelOptions; defaultOnWheel: WheelFunction | null; constructor(el: HTMLElement, options?: WheelOptions); handleTouchStart: (e: TouchEvent) => void; handleTouchMove: (e: TouchEvent) => void; handleTouchEnd: (e: TouchEvent) => void; handleMouseMove: (e: MouseEvent) => void; handleWheel: (e: WheelEvent) => void; clear: () => void; didWheel: () => void; private preventParentScroll; private emitScroll; private operateDOMEvents; on(fn: WheelFunction): () => void; off(fn?: WheelFunction): void; enable(): () => void; } declare type WheelFunction = (a: number, b: number) => T; export declare interface WheelOptions { shouldWheelX?: WheelFunction; shouldWheelY?: WheelFunction; stopPropagation?: WheelFunction; native?: boolean; freedom?: boolean; } export { }