import type { MapView } from '@mappedin/mappedin-js'; import { PubSub } from '@packages/internal/common/pubsub'; import type { BlueDotEventPayloads, FollowCameraOptions } from '../types'; import { FollowEvents, FollowMode } from './types'; export declare class FollowController extends PubSub { #private; constructor(mapView: MapView); /** * Whether the BlueDot is currently following the user. */ get isFollowing(): boolean; /** * Set the camera to follow the BlueDot. * @param mode The follow mode or false to disable * @param cameraOptions Optional camera options */ start(mode: FollowMode, cameraOptions?: FollowCameraOptions): void; /** * Called by BlueDot when position updates occur. * Updates camera position when following is active. */ handlePositionUpdate(event: BlueDotEventPayloads['position-update']): void; cancel: () => void; destroy(): void; }