import type { DisplayPort } from "../platform/ports"; /** * Callback function for mouse updates */ export type MouseUpdateCallback = (position: { x: number; y: number; deltaTime: number; }) => void; /** * MouseTracker * * Centralized mouse position tracker for Eden. * Provides a single efficient polling mechanism that multiple * operations (drag, resize, etc.) can subscribe to. */ export declare class MouseTracker { private readonly display; private subscribers; private interval; private lastUpdateTime; private lastPosition; private readonly updateInterval; /** * @param updateInterval - Update interval in milliseconds (default: 8ms for ~120fps) */ constructor(display: Pick, updateInterval?: number); /** * Subscribe to mouse position updates * @param id - Unique identifier for this subscriber * @param callback - Function to call with mouse updates */ subscribe(id: string, callback: MouseUpdateCallback): void; /** * Unsubscribe from mouse position updates * @param id - Unique identifier of the subscriber to remove */ unsubscribe(id: string): void; /** * Get the current mouse position */ getCurrentPosition(): { x: number; y: number; }; /** * Check if currently tracking */ isTracking(): boolean; /** * Get number of active subscribers */ getSubscriberCount(): number; /** * Start the mouse tracking interval */ private start; /** * Stop the mouse tracking interval */ private stop; /** * Cleanup and stop tracking */ dispose(): void; } //# sourceMappingURL=MouseTracker.d.ts.map