import { TransformationMatrix } from './TransformationMatrix'; import { Pinch } from './core-math'; export interface FidgetPincherOptions { enableInertia: boolean; enableTranslateInertia: boolean; enableFidgetSpinInertia: boolean; enablePinchInertia: boolean; stopTranslateInertiaOnTouch: boolean; stopFidgetSpinInertiaOnPinch: boolean; stopFidgetSpinInertiaOnTouch: boolean; stopPinchInertiaOnPinch: boolean; stopPinchInertiaOnTouch: boolean; stopFidgetSpinInertiaOnPinchInertia: boolean; } interface Get { get(): T; } interface GetSet { get(): T; set(value: T): void; } declare class ImplInertia { private optionsGetter; private transform; private __owner; private t; private translations; private translationApplyResult; private pinches; private fidgetSpinApplyResult; private fidgetSpinPivot; private pinchApplyResult; private pinchReleaseTimestamp; private get options(); constructor(optionsGetter: Get, transform: GetSet, __owner: Impl); onStart(touches: number, t: number): void; onTranslate(dx: number, dy: number, t: number): void; onPinch(pinch: Pinch, t: number): void; onEnd(touches: number): void; } export declare class ImplPointer { private owner; x: number; y: number; constructor(owner: Impl, x: number, y: number); move(x: number, y: number, t: number): void; remove(): void; } export declare class Impl { private options; pointers: ImplPointer[]; transform: TransformationMatrix; inertia: ImplInertia; transformedCallbacks: ((transform: TransformationMatrix) => void)[]; constructor(options: FidgetPincherOptions); setOptions(options: FidgetPincherOptions): void; addPointer(x: number, y: number, t: number): ImplPointer; addTransformedCallback(callback: (transform: TransformationMatrix) => void): void; removeTransformedCallback(callback: (transform: TransformationMatrix) => void): void; notifyTransformed(): void; } export {};