UNPKG

polyv-live-cli

Version:

CLI tool for managing PolyV live streaming services.

76 lines 2.23 kB
import { EventEmitter } from 'events'; export interface PanelConfig { id: string; title: string; component: any; position: { top: number | string; left: number | string; width: number | string; height: number | string; }; zIndex?: number; resizable?: boolean; movable?: boolean; border?: { type?: string; fg?: string; bg?: string; }; visible?: boolean; state?: 'minimized' | 'maximized' | 'normal' | 'fullscreen'; } export interface LayoutPreset { name: string; description: string; panels: PanelConfig[]; minSize: { width: number; height: number; }; } export interface LayoutState { currentLayout: string; panelStates: Map<string, PanelConfig>; fullscreenPanel?: string; history: string[]; } export declare class LayoutManager { private screen; private eventBus; private layouts; private currentState; private panels; private originalPositions; constructor(screen: any, eventBus: EventEmitter); private initializeDefaultLayouts; private setupEventHandlers; registerPanel(panelId: string, component: any): void; unregisterPanel(panelId: string): void; switchLayout(layoutName: string): void; private applyLayout; private applyPanelConfig; private calculatePosition; toggleFullscreen(panelId: string): void; private enterFullscreen; private exitFullscreen; minimizePanel(panelId: string): void; maximizePanel(panelId: string): void; restorePanel(panelId: string): void; private hidePanel; private storeCurrentStates; private handleScreenResize; private findAndSwitchToCompatibleLayout; private getTerminalSize; getAvailableLayouts(): string[]; getCurrentLayout(): string; getLayoutInfo(layoutName?: string): LayoutPreset | null; getPanelState(panelId: string): PanelConfig | null; isFullscreen(): boolean; getFullscreenPanel(): string | undefined; addLayoutPreset(preset: LayoutPreset): void; removeLayoutPreset(layoutName: string): void; saveCurrentState(): LayoutPreset; destroy(): void; } //# sourceMappingURL=layout-manager.d.ts.map