import { ElementRef, NgZone, OnInit, OnDestroy } from '@angular/core';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare class IgxScrollInertiaDirective implements OnInit, OnDestroy {
    private element;
    private _zone;
    IgxScrollInertiaDirection: string;
    IgxScrollInertiaScrollContainer: any;
    wheelStep: number;
    inertiaStep: number;
    smoothingStep: number;
    smoothingDuration: number;
    swipeToleranceX: number;
    inertiaDeltaY: number;
    inertiaDeltaX: number;
    inertiaDuration: number;
    private _touchInertiaAnimID;
    private _startX;
    private _startY;
    private _touchStartX;
    private _touchStartY;
    private _lastTouchEnd;
    private _lastTouchX;
    private _lastTouchY;
    private _savedSpeedsX;
    private _savedSpeedsY;
    private _totalMovedX;
    private _offsetRecorded;
    private _offsetDirection;
    private _lastMovedX;
    private _lastMovedY;
    private _nextX;
    private _nextY;
    private parentElement;
    private baseDeltaMultiplier;
    private firefoxDeltaMultiplier;
    constructor(element: ElementRef, _zone: NgZone);
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     * @hidden
     * Function that is called when scrolling with the mouse wheel or using touchpad
     */
    protected onWheel(evt: any): void;
    /**
     * @hidden
     * When there is still room to scroll up/down prevent the parent elements from scrolling too.
     */
    protected preventParentScroll(evt: any, preventDefault: any, nextTop?: number): void;
    /**
     * @hidden
     * Checks if the wheel event would have scrolled an element under the display container
     * in DOM tree so that it can correctly be ignored until that element can no longer be scrolled.
     */
    protected didChildScroll(evt: any, scrollDeltaX: any, scrollDeltaY: any): boolean;
    /**
     * @hidden
     * Function that is called the first moment we start interacting with the content on a touch device
     */
    protected onTouchStart(event: any): boolean;
    /**
     * @hidden
     * Function that is called when we need to scroll the content based on touch interactions
     */
    protected onTouchMove(event: any): void;
    protected onTouchEnd(event: any): void;
    protected _smoothWheelScroll(delta: any): void;
    protected _inertiaInit(speedX: any, speedY: any): void;
    private calcAxisCoords;
    private _scrollTo;
    private _scrollToX;
    private _scrollToY;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxScrollInertiaDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxScrollInertiaDirective, "[igxScrollInertia]", never, { "IgxScrollInertiaDirection": { "alias": "IgxScrollInertiaDirection"; "required": false; }; "IgxScrollInertiaScrollContainer": { "alias": "IgxScrollInertiaScrollContainer"; "required": false; }; "wheelStep": { "alias": "wheelStep"; "required": false; }; "inertiaStep": { "alias": "inertiaStep"; "required": false; }; "smoothingStep": { "alias": "smoothingStep"; "required": false; }; "smoothingDuration": { "alias": "smoothingDuration"; "required": false; }; "swipeToleranceX": { "alias": "swipeToleranceX"; "required": false; }; "inertiaDeltaY": { "alias": "inertiaDeltaY"; "required": false; }; "inertiaDeltaX": { "alias": "inertiaDeltaX"; "required": false; }; "inertiaDuration": { "alias": "inertiaDuration"; "required": false; }; }, {}, never, never, true, never>;
}
