UNPKG

homebridge-config-ui-x

Version:

A web based management, configuration and control platform for Homebridge.

171 lines (170 loc) • 5.85 kB
import type { ReadStream } from 'node:fs'; import type { HomebridgeConfig, HomebridgeUiConfig } from './config.interfaces.js'; export declare class ConfigService { name: string; configPath: string; storagePath: string; customPluginPath: string; strictPluginResolution: boolean; secretPath: string; authPath: string; accessoryLayoutPath: string; configBackupPath: string; instanceBackupPath: string; homebridgeInsecureMode: boolean; homebridgeVersion: string; runningHomebridgeModulePath: string; minimumNodeVersion: string; runningInDocker: boolean; runningInSynologyPackage: boolean; runningInPackageMode: boolean; runningInLinux: boolean; runningInFreeBSD: boolean; canShutdownRestartHost: boolean; enableTerminalAccess: boolean; usePluginBundles: boolean; recommendChildBridges: boolean; runningOnRaspberryPi: boolean; runningOnRaspbianImage: boolean; startupScript: string; dockerOfflineUpdate: boolean; package: any; hbStartupSettings: any; setupWizardComplete: boolean; customWallpaperHash: string; hbServiceUiRestartRequired: boolean; homebridgeConfig: HomebridgeConfig; ui: HomebridgeUiConfig; private bridgeFreeze; private uiFreeze; secrets: { secretKey: string; }; instanceId: string; constructor(); parseConfig(homebridgeConfig: HomebridgeConfig): void; uiSettings(authorized?: boolean): { env: { canShutdownRestartHost: boolean; customWallpaperHash: string; dockerOfflineUpdate: boolean; featureFlags: Record<string, boolean>; homebridgeVersion: string; homebridgeInstanceName: string; instanceId: string; lang: string; packageName: any; packageVersion: any; platform: NodeJS.Platform; port: number; setupWizardComplete: boolean; scheduledBackupDisable: boolean; scheduledBackupPath: string; }; formAuth: boolean; sessionTimeout: number; sessionTimeoutInactivityBased: boolean; lightingMode: "auto" | "light" | "dark"; serverTimestamp: string; theme: string; menuMode: "default" | "freeze"; } | { env: { enableAccessories: boolean; enableTerminalAccess: boolean; enableMdnsAdvertise: boolean; nodeVersion: string; recommendChildBridges: boolean; runningInDocker: boolean; runningInSynologyPackage: boolean; runningInPackageMode: boolean; runningInLinux: boolean; runningInFreeBSD: boolean; runningOnRaspberryPi: boolean; runningOnRaspbianImage: boolean; temperatureUnits: string; temp: string; log: { maxSize: number; truncateSize: number; }; ssl: { key: string; cert: string; pfx: string; hasPassphrase: boolean; selfSigned: boolean; selfSignedHostnames: string[]; }; accessoryControl: { debug: boolean; instanceBlacklist: string[]; }; plugins: { hideUpdatesFor: string[]; showBetasFor: string[]; hideChildBridgeSetupFor: string[]; }; nodeUpdatePolicy: "all" | "none" | "major"; homebridgeUpdatePolicy: "all" | "none" | "beta" | "major"; homebridgeUiUpdatePolicy: "all" | "none" | "beta" | "major"; scheduledRestartCron: string; bridges: import("./config.interfaces.js").HomebridgeUiBridgeConfig[]; linux: { shutdown: string; restart: string; }; terminal: { persistence: boolean; hideWarning: boolean; bufferSize: any; fontSize: string | number; fontWeight: string | number; lightingMode: "light" | "dark"; }; canShutdownRestartHost: boolean; customWallpaperHash: string; dockerOfflineUpdate: boolean; featureFlags: Record<string, boolean>; homebridgeVersion: string; homebridgeInstanceName: string; instanceId: string; lang: string; packageName: any; packageVersion: any; platform: NodeJS.Platform; port: number; setupWizardComplete: boolean; scheduledBackupDisable: boolean; scheduledBackupPath: string; }; menuMode: "default" | "freeze"; wallpaper: string; host: string; proxyHost: string; homebridgePackagePath: string; disableServerMetricsMonitoring: boolean; keepOrphans: any; formAuth: boolean; sessionTimeout: number; sessionTimeoutInactivityBased: boolean; lightingMode: "auto" | "light" | "dark"; serverTimestamp: string; theme: string; }; uiRestartRequired(): Promise<boolean>; private freezeUiSettings; private setConfigForDocker; private setConfig; private getSecrets; private generateSecretToken; private getInstanceId; private getCustomWallpaperHash; removeWallpaperCache(): void; streamCustomWallpaper(): ReadStream; private checkIfRunningOnRaspberryPi; private checkIfRunningOnRaspbianImage; getFeatureFlags(): Record<string, boolean>; isMatterEnabled(): boolean; getNodeUpdatePolicy(): 'all' | 'none' | 'major'; }