import { ChangeDetectorRef, type Injector, type Type } from '@angular/core'; import type { EventTypes, GestureKey, Handler, UserGestureConfig } from '@use-gesture/vanilla'; import type { Recognizer } from '@use-gesture/vanilla/dist/declarations/src/Recognizer'; type InjectGestureFn, TGestureConfig extends UserGestureConfig[TGestureKey]> = { (handler: (state: Parameters[0] & { cdr: ChangeDetectorRef; }) => ReturnType, options?: { injector?: Injector; zoneless?: boolean; config?: () => TGestureConfig; }): void; }; export type GestureInfer void> = TInjectGesture extends InjectGestureFn ? { key: _GestureKey; handler: _GestureHandler; handlerParameters: Parameters[0]; state: Parameters[0]>[0]; config: GestureConfig; } : never; export declare function createGesture>(_key: TGestureKey, gesture: Type): InjectGestureFn, UserGestureConfig[TGestureKey]>; export {};