import { ElementRef } from '@angular/core'; import { BehaviorSubject, MonoTypeOperatorFunction, Observable } from 'rxjs'; export interface DragGesture { event?: MouseEvent | Touch; x: number; y: number; } export type DragDirectionVertical = 'up' | 'down'; export type DragDirectionHorizontal = 'left' | 'right'; export declare function preventWhen(condition: () => boolean): MonoTypeOperatorFunction; export declare class Gestures { private element; window: (Window & typeof globalThis) | { addEventListener: () => void; removeEventListener: () => void; }; constructor(element: ElementRef); position$: BehaviorSubject; dragging$: BehaviorSubject; dragEnabled$: BehaviorSubject; preventDefault$: BehaviorSubject; pressed$: BehaviorSubject; private mouseDown$; private mouseMove$; private mouseMove$$; private mouseUp$; private touchDown$; private touchMove$; private touchMove$$; private touchUp$; start$: Observable; move$: Observable; move$$: Observable; end$: Observable; down$: Observable; dragStart$: Observable; drag$: Observable; dragEnd$: Observable; dragDirectionVertical$: Observable; dragDirectionHorizontal$: Observable; private _click$; private buff$; private clicks$; private _single$; private _double$; private _press$; private race$; tap$: Observable; doubletap$: Observable; press$: Observable; }