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