matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
56 lines • 2.4 kB
TypeScript
/**
* 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