import { EventEmitter } from 'events';
import { FocusableComponent, ShortcutConfig, InteractionConfig } from '../types/interaction';
export declare class InteractionManager extends EventEmitter {
    private config;
    private screen;
    private focusableComponents;
    private currentFocus;
    private focusHistory;
    private shortcuts;
    private isDestroyed;
    constructor(screen: any, config: InteractionConfig);
    private initializeInteractionHandlers;
    private setupKeyboardHandling;
    private setupMouseHandling;
    private registerDefaultShortcuts;
    private handleKeyboardEvent;
    private handleMouseEvent;
    private buildShortcutKey;
    private handleNavigationKeys;
    private handleArrowKeys;
    private handleEscape;
    private handleEnter;
    private handleScrollEvent;
    private handleMouseHover;
    private findComponentAtPosition;
    private isPositionInComponent;
    private handleContextMenu;
    registerComponent(component: FocusableComponent): void;
    unregisterComponent(id: string): void;
    setFocus(componentId: string): boolean;
    focusNext(): void;
    focusPrevious(): void;
    focusFirst(): void;
    focusLast(): void;
    clearFocus(): void;
    registerShortcut(shortcut: ShortcutConfig): void;
    unregisterShortcut(key: string): void;
    private activateShortcut;
    getAllShortcuts(): ShortcutConfig[];
    getCurrentFocus(): string | undefined;
    getComponents(): FocusableComponent[];
    getShortcuts(): ShortcutConfig[];
    getComponent(id: string): FocusableComponent | undefined;
    isInteractionManagerDestroyed(): boolean;
    destroy(): void;
}
//# sourceMappingURL=interaction-manager.d.ts.map