/**
 * 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 subscribers;
    private interval;
    private lastUpdateTime;
    private lastPosition;
    private readonly updateInterval;
    /**
     * @param updateInterval - Update interval in milliseconds (default: 8ms for ~120fps)
     */
    constructor(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