import { InteractionApi, InteractionHandler } from '../interactions';
import { WalkModeModel } from '../walk-mode/model';
export interface AnimationConfiguration {
    durationMs: number;
}
export declare class TeleportInteractionHandler implements InteractionHandler {
    private model;
    private animationConfiguration?;
    private api?;
    private element?;
    private rectObserver;
    private downPosition?;
    private downButtons?;
    private enabledChangeDisposable?;
    private teleportModeChangeDisposable?;
    private cursorDisposable?;
    constructor(model: WalkModeModel, animationConfiguration?: AnimationConfiguration | undefined);
    dispose(): void;
    initialize(element: HTMLElement, api: InteractionApi): void;
    setAnimations(config?: AnimationConfiguration): void;
    enable(): void;
    disable(): void;
    private handlePointerDown;
    private handlePointerUp;
    private beginInteraction;
    private endInteraction;
    private teleportTowardHit;
    private teleportToHit;
    private teleportAndAlign;
    private performInteraction;
    private getWorldPointWithFallback;
    private handleEnabledChange;
    private handleTeleportModeChange;
    private shortestLength;
    private renderConfiguration;
}
