import { EventEmitter } from 'events';
export declare class NetworkUtils {
    static formatBandwidth(bytesPerSecond: number): {
        value: number;
        unit: string;
        formatted: string;
    };
    static formatBytes(bytes: number): {
        value: number;
        unit: string;
        formatted: string;
    };
    static calculateUtilization(currentRate: number, maxRate: number): number;
    static getConnectionState(interfaces: NetworkInterface[]): 'connected' | 'disconnected' | 'limited';
}
export interface SystemResourcesDetailed {
    cpu: {
        usage: number;
        cores: number;
        model: string;
        speed: number;
        temperature?: number;
        loadAverage?: number[];
    };
    memory: {
        total: number;
        used: number;
        free: number;
        usage: number;
        available: number;
        percentage: number;
    };
    network: {
        interfaces: NetworkInterface[];
        totalBytesIn: number;
        totalBytesOut: number;
        timestamp: number;
        connections: number;
        totalRateIn: number;
        totalRateOut: number;
        activeInterfaces: number;
        errorRate: number;
        connectionState: 'connected' | 'disconnected' | 'limited';
    };
    process: {
        pid: number;
        cpuUsage: number;
        memoryUsage: number;
        uptime: number;
        handles?: number;
        connections?: number;
        fileDescriptors?: number;
        threadCount?: number;
        status: 'running' | 'idle' | 'blocked' | 'zombie';
        heapUsed: number;
        heapTotal: number;
        external: number;
        arrayBuffers: number;
        rss: number;
        avgCpuUsage: number;
        peakMemoryUsage: number;
        performanceRating: 'excellent' | 'good' | 'fair' | 'poor';
    };
    disk?: {
        used: number;
        total: number;
        available: number;
        percentage: number;
    };
}
export interface NetworkInterface {
    name: string;
    isUp: boolean;
    speed?: number;
    bytesIn: number;
    bytesOut: number;
    packetsIn: number;
    packetsOut: number;
    errors: number;
    dropped: number;
    rateIn?: number;
    rateOut?: number;
    utilization?: number;
}
export interface SystemResourcesHistory {
    timestamp: number;
    cpu: number;
    memory: number;
    network: {
        bytesIn: number;
        bytesOut: number;
    };
    process: {
        cpu: number;
        memory: number;
    };
}
export declare class SystemResourceService extends EventEmitter {
    private previousCpuUsage;
    private previousProcessUsage;
    private history;
    private readonly historyMaxSize;
    private isWindows;
    private isLinux;
    private isMacOS;
    private previousNetworkStats;
    private networkRates;
    private processHistory;
    private readonly processHistoryMaxSize;
    private processStartTime;
    private peakMemoryUsage;
    private cpuUsageReadings;
    constructor();
    private initializeBaseline;
    getSystemResources(): Promise<SystemResourcesDetailed>;
    private getCpuUsage;
    private getMemoryUsage;
    private getNetworkUsage;
    private getNetworkStats;
    getNetworkRates(): Map<string, {
        rateIn: number;
        rateOut: number;
    }>;
    getFormattedNetworkStats(): {
        totalBandwidth: string;
        totalBytes: string;
        connectionState: string;
    };
    private getLinuxNetworkStats;
    private getMacNetworkStats;
    private getWindowsNetworkStats;
    private getNetworkConnections;
    private getProcessUsage;
    private getDiskUsage;
    private determineProcessStatus;
    private calculatePerformanceRating;
    private getFileDescriptorCount;
    private getThreadCount;
    getProcessHistory(): Array<{
        timestamp: number;
        cpu: number;
        memory: number;
        heapUsed: number;
    }>;
    getProcessPerformanceSummary(): {
        runtime: number;
        avgCpuUsage: number;
        peakMemoryUsage: number;
        currentMemoryUsage: number;
        performanceRating: 'excellent' | 'good' | 'fair' | 'poor';
    };
    private addToHistory;
    getHistory(timeRange?: number): SystemResourcesHistory[];
    clearHistory(): void;
    getSystemInfo(): {
        platform: string;
        architecture: string;
        hostname: string;
        uptime: number;
        nodeVersion: string;
    };
    isResourceStressed(resources: SystemResourcesDetailed): {
        cpu: boolean;
        memory: boolean;
        overall: boolean;
    };
}
//# sourceMappingURL=system-resource.service.d.ts.map