UNPKG

polyv-live-cli

Version:

CLI tool for managing PolyV live streaming services.

61 lines 2.5 kB
import { EventEmitter } from 'events'; import { Component, ComponentConfig, ComponentState, GridSize } from '../types/monitoring'; import { FocusableComponent, FocusState, KeyboardEvent, MouseEvent } from '../types/interaction'; export declare abstract class BaseComponent extends Component implements FocusableComponent { protected refreshInterval?: NodeJS.Timeout; protected isDestroyed: boolean; protected lastRenderTime: number; protected renderThrottleMs: number; protected focusState: FocusState; constructor(config: ComponentConfig, eventBus: EventEmitter); protected initializeComponent(): void; protected setupEventListeners(): void; protected abstract createWidget(): void; protected throttledRender(): void; protected handleTerminalResize(data: { width: number; height: number; }): void; protected handleThemeChange(data: { theme: string; }): void; protected handleComponentUpdate(data: any): void; protected applyTheme(_theme: string): void; protected startRefresh(intervalMs: number): void; protected stopRefresh(): void; protected requestUpdate(): void; protected updateState(updates: Partial<ComponentState>): void; protected handleError(error: Error): void; resize(size: GridSize): void; show(): void; hide(): void; destroy(): void; getId(): string; getType(): string; canFocus(): boolean; focus(): void; blur(): void; getFocusState(): FocusState; handleKeyboard(event: KeyboardEvent): boolean; handleMouse(event: MouseEvent): boolean; setTabIndex(index: number): void; setFocusable(focusable: boolean): void; setShowFocusRing(show: boolean): void; protected updateFocusVisuals(): void; protected handleEnterKey(event: KeyboardEvent): void; protected handleEscapeKey(event: KeyboardEvent): void; protected handleSpaceKey(event: KeyboardEvent): void; protected handleCustomKeyboard(_event: KeyboardEvent): boolean; protected handleMouseClick(event: MouseEvent): void; protected handleRightClick(event: MouseEvent): void; protected handleMouseWheel(event: MouseEvent): void; protected handleMouseMove(event: MouseEvent): void; protected isMouseEventInBounds(event: MouseEvent): boolean; protected getComponentBounds(): { left: number; top: number; right: number; bottom: number; } | null; } //# sourceMappingURL=base.component.d.ts.map