import { Swipe } from '..';
import { SwipeCoords } from '../Coords';
import { ISwipeVec3 } from '../global';
interface IProps {
    props: typeof Swipe.prototype.props;
    coords: SwipeCoords;
    onStart: () => void;
    onFail: () => void;
    onCancel: () => void;
    onEnd: () => void;
}
export declare class SwipeInertia {
    private ctx;
    constructor(ctx: IProps);
    private _raf?;
    private _velocity;
    private _initialVelocity;
    private _modifiedDistance?;
    private _saveRawMovement;
    private _rawMovement;
    private _saveStep;
    private _saveCurrent;
    private _onUpdate?;
    /** Check if inertia is active */
    get has(): boolean;
    /** Apply inertia-based movement */
    release(onUpdate: (state: ISwipeVec3) => void): boolean;
    /** Calculate velocity */
    private _calcVelocity;
    /** Handle RAF update */
    private _handleRaf;
    /** Calculate velocity progress */
    private _getVelocityProgress;
    private _predictDistance;
    /** Apply exponential axis bounce overflow */
    private _applyAxisBounce;
    /** Clear data and stop animation */
    private _clear;
    /** Stop inertia animation */
    cancel(): void;
    /** Destroy instance */
    destroy(): void;
}
export {};
//# sourceMappingURL=index.d.ts.map