import { IControlHeightProvider } from './i-control-height-provider';
import { LayoutPoint } from '../layout/layout-point';
import { BatchUpdatableObject } from '@devexpress/utils/lib/class/batch-updatable';
import { IEventManager } from '../interfaces/i-event-manager';
import { CursorPointer } from '../mouse-handler/mouse-handler/mouse-handler';
import { ViewManager } from './renderes/view-manager';
export declare class CanvasManager extends BatchUpdatableObject {
    private viewManager;
    private eventManager;
    private scrollIntervalID;
    private lastMousePosition;
    private canvasPosition;
    private doubleTapStartDate;
    private pointer;
    private blockNotPointerEvents;
    private lastPointerPosition;
    private evtHandlersHolder;
    private get sizes();
    private get scroll();
    get controlHeightProvider(): IControlHeightProvider;
    constructor(viewManager: ViewManager, eventManager: IEventManager);
    get canvas(): HTMLDivElement;
    dispose(): void;
    onUpdateUnlocked(_occurredEvents: number): void;
    setCursorPointer(pointer: CursorPointer): void;
    closeDocument(): void;
    focusChanged(inFocus: boolean): void;
    getCanvasWidth(): number;
    private onCanvasMouseWheel;
    private onCanvasMouseDown;
    private onCanvasMouseDownInternal;
    private onCanvasMouseUp;
    private onCanvasMouseUpInternal;
    private onCanvasMouseMove;
    private onCanvasMouseMoveInternal;
    private onCanvasMouseDblClick;
    private onCanvasTouchStart;
    private onCanvasTouchStartInternal;
    private onCanvasDoubleTap;
    private onCanvasTouchEnd;
    private onCanvasTouchEndInternal;
    private onCanvasTouchMove;
    private onCanvasTouchMoveInternal;
    private onCanvasPointerDown;
    private onCanvasPointerMove;
    private onCanvasPointerUp;
    private onCanvasGestureStart;
    private onDocumentMouseUp;
    private onDocumentContextMenu;
    private shouldPreventContextMenuEvent;
    private onDocumentMouseMove;
    private onDocumentTouchEnd;
    private onDocumentTouchMove;
    private getScale;
    protected getLayoutPoint(evt: MouseEvent, checkScroll: boolean): LayoutPoint;
    isVisiblePosition(layoutPoint: LayoutPoint): boolean;
    private initCommonEvents;
    private initMouseEvents;
    private initTouchEvents;
    private initPointerEvents;
    private initMSPointerEvents;
    private resetScrollInterval;
    private saveMousePosition;
    private onScrollIntervalTick;
    private static getCursorClassName;
    private static getMouseEventSource;
    getScrollTopInfo(): ScrollTopInfo;
}
export declare class ScrollTopInfo {
    pageIndex: number;
    topPositionRelativePage: number;
    constructor(pageIndex: number, topPositionRelativePage: number);
}
