export type PointerPhase = 'enter' | 'move' | 'down' | 'up' | 'press' | 'leave' | 'cancel'; export type PointerSource = 'mouse' | 'touch' | 'pen' | 'unknown'; export interface NormalizedPointerEvent { pointerId: number; phase: PointerPhase; source: PointerSource; containerX: number; containerY: number; plotX: number; plotY: number; pageX: number; pageY: number; inside: boolean; insideX: boolean; insideY: boolean; buttons: number; mods: { alt: boolean; ctrl: boolean; meta: boolean; shift: boolean; }; raw: any; } export interface NormalizeContext { /** Container top-left in page space (from useElementOffset). */ offset: { left: number; top: number; }; padding: { top: number; right: number; bottom: number; left: number; }; plotWidth: number; plotHeight: number; phase: PointerPhase; platform: 'web' | 'native'; } export interface PanGesture { dx: number; dy: number; plotWidth: number; plotHeight: number; phase: 'start' | 'move' | 'end'; } export interface PinchGesture { scale: number; centerPlotX: number; centerPlotY: number; phase: 'start' | 'move' | 'end'; } export interface WheelGesture { deltaY: number; anchorXRatio: number; anchorYRatio: number; } export declare function normalizePointer(raw: any, ctx: NormalizeContext): NormalizedPointerEvent;