import * as ThreeJS from "@intelligentgraphics/ig.gfx.threejs";
import { IPointerBehaviour } from "./base";
import { TouchCollection } from "../touchCollection";
import { PointerEventLike } from "../handler";
export declare type HandleablePointerEvents = "pointerdown" | "pointerup" | "pointermove";
export declare type PointerMethodMap = Record<HandleablePointerEvents, keyof ThreeJS.Controls.OrbitControls>;
export declare type PointerTypeMap = {
    touch: PointerMethodMap;
    mouse: PointerMethodMap;
};
export declare class Orbiter implements IPointerBehaviour {
    protected touchCollection: TouchCollection;
    protected getOrbitControls: () => ThreeJS.Controls.OrbitControls | ThreeJS.Controls.OrthographicTrackballControls;
    name: string;
    constructor(touchCollection: TouchCollection, getOrbitControls: () => ThreeJS.Controls.OrbitControls | ThreeJS.Controls.OrthographicTrackballControls);
    onPointerDown(event: PointerEventLike): any;
    onPointerMove(event: PointerEventLike): any;
    onPointerUp(event: PointerEventLike): any;
    protected handleOrbiterEvent(event: PointerEventLike, eventType?: string): any;
}
