/**
 * @module viw-webgl-component
 */
import * as VIM from 'vim-webgl-viewer/';
/**
 * Css classes for custom cursors.
 */
export type Cursor = 'cursor-regular' | 'cursor-orbit' | 'cursor-look' | 'cursor-pan' | 'cursor-zoom' | 'cursor-rect' | 'cursor-measure' | 'cursor-section-box';
/**
 * Maps between viewer pointers and cursor css classes
 */
export declare function pointerToCursor(pointer: VIM.PointerMode): Cursor;
/**
 * Listens to the vim viewer and updates css cursors classes on the canvas accordingly.
 */
export declare class CursorManager {
    private _viewer;
    private cursor;
    private _boxHover;
    private _subscriptions;
    constructor(viewer: VIM.Viewer);
    /**
     * Register to viewer events
     */
    register(): void;
    /**
     * Unregister from viewer events
     */
    unregister(): void;
    /**
     * Set a specific cursor.
     */
    setCursor: (value: Cursor) => void;
    private _updateCursor;
}
