polyv-live-cli
Version:
CLI tool for managing PolyV live streaming services.
60 lines • 2.23 kB
TypeScript
import { EventEmitter } from 'events';
import { LayoutConfig, ComponentLayout } from '../types/monitoring';
export interface LayoutManagerOptions {
layoutsDir?: string;
autoSave?: boolean;
enableResponsive?: boolean;
}
export interface TerminalSize {
width: number;
height: number;
}
export interface LayoutMetrics {
totalComponents: number;
activeComponents: number;
gridUtilization: number;
overlappingComponents: ComponentLayout[];
}
export declare class LayoutManager extends EventEmitter {
private layouts;
private currentLayoutId;
private customLayouts;
private layoutsDir;
private options;
private currentTerminalSize;
constructor(options?: LayoutManagerOptions);
getAvailableLayouts(): string[];
getLayout(layoutId: string): LayoutConfig | undefined;
getCurrentLayout(): LayoutConfig;
getCurrentLayoutId(): string;
applyLayout(layoutId: string): Promise<void>;
createCustomLayout(layout: LayoutConfig): Promise<void>;
updateCustomLayout(layoutId: string, updates: Partial<LayoutConfig>): Promise<void>;
deleteCustomLayout(layoutId: string): Promise<void>;
updateTerminalSize(size: TerminalSize): Promise<void>;
getLayoutMetrics(layoutId?: string): LayoutMetrics;
findOverlappingComponents(layout: LayoutConfig): ComponentLayout[];
optimizeLayout(layout: LayoutConfig): LayoutConfig;
getCustomLayouts(): LayoutConfig[];
getBuiltInLayouts(): LayoutConfig[];
exportLayout(layoutId: string, filePath: string): Promise<void>;
importLayout(filePath: string): Promise<LayoutConfig>;
private ensureLayoutsDirectory;
private loadBuiltInLayouts;
private loadCustomLayouts;
private saveCustomLayout;
private applyLayoutToInterface;
private applyResponsiveAdjustments;
private componentsOverlap;
private calculateGridUtilization;
private resolveOverlaps;
private repositionComponent;
private packComponents;
private createDefaultLayout;
private createCompactLayout;
private createWidescreenLayout;
private createSingleColumnLayout;
destroy(): void;
}
export declare const layoutManager: LayoutManager;
//# sourceMappingURL=layout-manager.d.ts.map