import { WsException } from '@nestjs/websockets';
import { PluginsService } from '../plugins/plugins.service.js';
import { StatusService } from './status.service.js';
export declare class StatusGateway {
    private readonly statusService;
    private readonly pluginsService;
    constructor(statusService: StatusService, pluginsService: PluginsService);
    getDashboardLayout(): Promise<any>;
    getDashboardInit(): Promise<WsException | {
        layout: any;
        rpiThrottled?: Record<string, boolean>;
    }>;
    setDashboardLayout(client: any, payload: any): Promise<WsException | {
        status: string;
    }>;
    homebridgeVersionCheck(): Promise<WsException | import("../plugins/plugins.interfaces.js").HomebridgePlugin>;
    homebridgeUiVersionCheck(): Promise<WsException | import("../plugins/plugins.interfaces.js").HomebridgePlugin>;
    npmVersionCheck(): Promise<WsException | import("../plugins/plugins.interfaces.js").HomebridgePlugin>;
    dockerVersionCheck(): Promise<WsException | {
        currentVersion: string;
        latestVersion: string;
        latestReleaseBody: string;
        updateAvailable: boolean;
    }>;
    nodeVersionCheck(): Promise<unknown>;
    clearNodeJsVersionCache(): {
        success: boolean;
    };
    getOutOfDatePlugins(): Promise<WsException | import("../plugins/plugins.interfaces.js").HomebridgePlugin[]>;
    getVersionOverview(): Promise<WsException | {
        serverInfo: {
            serviceUser: string;
            homebridgeConfigJsonPath: string;
            homebridgeStoragePath: string;
            homebridgeInsecureMode: boolean;
            homebridgeCustomPluginPath: string;
            homebridgePluginPath: string;
            homebridgeRunningInDocker: boolean;
            homebridgeRunningInSynologyPackage: boolean;
            homebridgeRunningInPackageMode: boolean;
            nodeVersion: string;
            os: import("systeminformation").Systeminformation.OsData;
            time: import("systeminformation").Systeminformation.TimeData;
            network: {};
        };
        node: unknown;
        homebridge: import("../plugins/plugins.interfaces.js").HomebridgePlugin;
        homebridgeUi: import("../plugins/plugins.interfaces.js").HomebridgePlugin;
        outOfDatePlugins: import("../plugins/plugins.interfaces.js").HomebridgePlugin[];
        docker: any;
        hbV2Ready: boolean;
    }>;
    getHomebridgeServerInfo(): Promise<WsException | {
        serviceUser: string;
        homebridgeConfigJsonPath: string;
        homebridgeStoragePath: string;
        homebridgeInsecureMode: boolean;
        homebridgeCustomPluginPath: string;
        homebridgePluginPath: string;
        homebridgeRunningInDocker: boolean;
        homebridgeRunningInSynologyPackage: boolean;
        homebridgeRunningInPackageMode: boolean;
        nodeVersion: string;
        os: import("systeminformation").Systeminformation.OsData;
        time: import("systeminformation").Systeminformation.TimeData;
        network: {};
    }>;
    getServerCpuInfo(): Promise<WsException | {
        cpuTemperature: {
            main: number;
            cores: any[];
            max: number;
        };
        currentLoad: number;
        cpuLoadHistory: number[];
    }>;
    getServerMemoryInfo(): Promise<WsException | {
        mem: import("systeminformation").Systeminformation.MemData;
        memoryUsageHistory: number[];
    }>;
    getServerNetworkInfo(client: any, payload?: {
        netInterfaces: string[];
    }): Promise<WsException | {
        net: import("systeminformation").Systeminformation.NetworkStatsData;
        point: number;
    }>;
    getServerUptimeInfo(): Promise<WsException | {
        time: import("systeminformation").Systeminformation.TimeData;
        processUptime: number;
    }>;
    getHomebridgePairingPin(): Promise<WsException | {
        pin: string;
        setupUri: string;
        paired: boolean;
        hap: {
            enabled: boolean;
            externalsOnly: boolean;
        };
        matter: import("../../core/matter/matter.interfaces.js").HomebridgeStatusMatterUpdate;
    }>;
    getHomebridgeStatus(): Promise<WsException | {
        status: import("./status.interfaces.js").HomebridgeStatus;
        consolePort: number;
        name: string;
        port: number;
        pin: string;
        setupUri: string;
        packageVersion: any;
        paired: boolean;
        hap: {
            enabled: boolean;
            externalsOnly: boolean;
        };
        matter: import("../../core/matter/matter.interfaces.js").HomebridgeStatusMatterUpdate;
    }>;
    serverStatus(client: any): Promise<void>;
    getRaspberryPiThrottledStatus(): Promise<{}>;
}
