UNPKG

polyv-live-cli

Version:

CLI tool for managing PolyV live streaming services.

52 lines 1.73 kB
import * as contrib from 'blessed-contrib'; import { EventEmitter } from 'events'; import { BaseComponent } from './base.component'; import { GridPosition, GridSize, LayoutConfig } from '../types/monitoring'; export interface GridCell { component?: BaseComponent; position: GridPosition; widget?: any; occupied: boolean; } export declare class GridManager { private screen; private grid; private eventBus; private cells; private rows; private cols; private currentLayout; private layouts; private resizeTimeout?; constructor(screen: any, eventBus: EventEmitter, rows?: number, cols?: number); private initializeGrid; private initializeCells; private setupEventListeners; private handleResize; private handleComponentCreated; private handleComponentDestroyed; private registerDefaultLayouts; setLayout(layoutName: string): void; addComponent(component: BaseComponent, position: GridPosition): any; removeComponent(componentId: string): boolean; canPlaceComponent(position: GridPosition): boolean; getOptimalPosition(size: GridSize): GridPosition | null; getAvailableLayouts(): string[]; getCurrentLayout(): string; getLayoutConfig(layoutName: string): LayoutConfig | undefined; registerLayout(layout: LayoutConfig): void; getGrid(): contrib.Grid; getGridSize(): { rows: number; cols: number; }; getOccupiedCells(): GridPosition[]; private findComponentById; private markCellsOccupied; private markCellsUnoccupied; private removeComponentFromGrid; private clearGrid; private recalculateLayout; destroy(): void; } //# sourceMappingURL=grid-manager.d.ts.map