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]; interface WheelState { _active: boolean; active: boolean; _value: Vec2; value: Vec2; delta: Vec2; offset: Vec2; movement: Vec2; target: El; event: Event; timeout: number; clearTimeout(): void; memo: any; isWheelStart: boolean; isWheeling: boolean; isWheelEnd: boolean; wheel(self: WheelState): void; wheelStart(e: Event): void; wheeling(e: Event): void; wheelEnd(e: Event): void; mount(target: El): void; clean(target: null): void; ref(traget: El | null): void; tick?: () => void; } type WheelConfig = Partial> | WheelState['wheel']; declare const wheelEvent: (config?: WheelState) => EventState>; export { type WheelConfig, type WheelState, wheelEvent };