import type { GestureEventData } from './gestures-types';
import type { View } from '../core/view';
import { GesturesObserverBase, GestureTypes } from './gestures-common';
export * from './gestures-common';
export * from './gestures-types';
export * from './touch-manager';
export declare function observe(target: View, type: GestureTypes, callback: (args: GestureEventData) => void, context?: any): GesturesObserver;
export declare class GesturesObserver extends GesturesObserverBase {
    private _notifyTouch;
    private _simpleGestureDetector;
    private _scaleGestureDetector;
    private _swipeGestureDetector;
    private _panGestureDetector;
    private _rotateGestureDetector;
    private _eventData;
    private _onTargetLoaded;
    private _onTargetUnloaded;
    observe(type: GestureTypes): void;
    disconnect(): void;
    private _detach;
    private _attach;
    androidOnTouchEvent(motionEvent: android.view.MotionEvent): void;
}
declare class Pointer {
    private event;
    android: number;
    ios: any;
    constructor(id: number, event: android.view.MotionEvent);
    getX(): number;
    getY(): number;
}
export declare class TouchGestureEventData {
    eventName: string;
    type: GestureTypes;
    ios: any;
    action: string;
    view: View;
    android: android.view.MotionEvent;
    object: any;
    private _activePointers;
    private _allPointers;
    prepare(view: View, e: android.view.MotionEvent): void;
    getPointerCount(): number;
    getActivePointers(): Array<Pointer>;
    getAllPointers(): Array<Pointer>;
    getX(): number;
    getY(): number;
    private getActionType;
}
