UNPKG

matterbridge-roborock-vacuum-plugin

Version:
56 lines 2.4 kB
/** * Platform configuration manager. * Provides validation, defaults, and device allow/deny checks using whiteList/blackList. */ import type { AnsiLogger } from 'matterbridge/logger'; import { AdvancedFeatureSetting, CleanModeSettings, EmailNotificationSettings, MatterOverrideSettings, RoborockPluginPlatformConfig } from '../model/RoborockPluginPlatformConfig.js'; /** * Manages platform configuration with validation and defaults. */ export declare class PlatformConfigManager { private readonly config; private readonly log; private constructor(); /** * Create a PlatformConfigManager with defaults applied. */ static create(config: RoborockPluginPlatformConfig, log: AnsiLogger): PlatformConfigManager; validateConfig(): boolean; /** * Validate authentication configuration. * Returns true if authentication can proceed. */ validateAuthentication(): boolean; get alwaysExecuteAuthentication(): boolean; get username(): string; get password(): string; get verificationCode(): string; get authenticationMethod(): 'VerificationCode' | 'Password'; get region(): string; get rawConfig(): RoborockPluginPlatformConfig; get refreshInterval(): number; get hasWhiteListConfig(): boolean; get unregisterOnShutdown(): boolean; get isServerModeEnabled(): boolean; get isMultipleMapEnabled(): boolean; get isAdvancedFeatureEnabled(): boolean; get isClearStorageOnStartupEnabled(): boolean; get isCustomCleanModeMappingEnabled(): boolean; get advancedFeatureSettings(): AdvancedFeatureSetting; get cleanModeSettings(): CleanModeSettings; get showRoutinesAsRoom(): boolean; get forceRunAtDefault(): boolean; get includeDockStationStatus(): boolean; get includeVacuumErrorStatus(): boolean; get useVacationModeToSendVacuumToDock(): boolean; get overrideMatterConfiguration(): boolean; get matterOverrideSettings(): MatterOverrideSettings; getProductNameForDevice(serialNumber: string): string | undefined; ensureDeviceProductNameEntry(serialNumber: string, defaultProductName: string): boolean; get isEmailNotificationEnabled(): boolean; get emailNotificationSettings(): EmailNotificationSettings | undefined; isDeviceAllowed(device: { duid?: string; }): boolean; } //# sourceMappingURL=platformConfigManager.d.ts.map