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