polyv-live-cli
Version:
CLI tool for managing PolyV live streaming services.
77 lines • 2.73 kB
TypeScript
import { EventEmitter } from 'events';
import { BaseComponent } from './base.component';
import { ComponentConfig, ComponentState } from '../types/monitoring';
import { StatusInfo } from '../types/interaction';
export interface StatusBarConfig extends ComponentConfig {
type: 'status-bar';
statusPosition: 'top' | 'bottom';
showTime: boolean;
showMemoryUsage: boolean;
showCpuUsage: boolean;
showConnectionStatus: boolean;
showOperationHints: boolean;
updateInterval: number;
}
export interface StatusBarState extends ComponentState {
statusInfo: StatusInfo;
isCollapsed: boolean;
}
export declare class StatusBar extends BaseComponent {
protected config: StatusBarConfig;
protected state: StatusBarState;
private statusContainer;
private leftSection;
private centerSection;
private rightSection;
private messageArea;
private updateTimer?;
constructor(config: StatusBarConfig, eventBus: EventEmitter);
protected setupStatusListeners(): void;
protected createWidget(): void;
protected setupStatusEvents(): void;
protected startUpdateTimer(): void;
protected updateSystemMetrics(): void;
protected updateDisplay(): void;
protected updateLeftSection(): void;
protected updateCenterSection(): void;
protected updateRightSection(): void;
protected updateMessageArea(): void;
protected getConnectionStatusColor(status: StatusInfo['connection']): string;
protected getConnectionStatusText(status: StatusInfo['connection']): string;
protected getMessageColor(level: 'info' | 'warning' | 'error'): string;
toggleCollapse(): void;
protected hideStatusBar(): void;
protected showStatusBar(): void;
protected showDetailedStatus(): void;
protected generateDetailedStatusText(): string;
updateSystemStatus(data: Partial<StatusInfo>): void;
updatePerformanceMetrics(data: {
memoryUsage?: number;
cpuUsage?: number;
}): void;
updateConnectionStatus(data: {
status: StatusInfo['connection'];
}): void;
updateOperationStatus(data: {
operation: string;
}): void;
displayMessage(data: {
level: 'info' | 'warning' | 'error';
text: string;
}): void;
updateShortcuts(data: {
shortcuts: string[];
}): void;
clearMessages(): void;
clearMessage(messageToRemove: {
level: 'info' | 'warning' | 'error';
text: string;
}): void;
setPosition(position: 'top' | 'bottom'): void;
updateConfig(newConfig: Partial<StatusBarConfig>): void;
getStatusInfo(): StatusInfo;
update(data: any): void;
render(): void;
destroy(): void;
}
//# sourceMappingURL=status-bar.d.ts.map