polyv-live-cli
Version:
CLI tool for managing PolyV live streaming services.
47 lines • 1.69 kB
TypeScript
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