UNPKG

@sailboat-computer/data-storage

Version:

Shared data storage library for sailboat computer v3

67 lines (55 loc) 1.38 kB
/** * Storage Configuration Manager Interface * * This interface defines the common methods for all storage configuration manager implementations. */ import { EventBus } from '../event-bus'; import { StorageConfig, UnifiedStorageManagerOptions } from '../types'; /** * Storage configuration manager interface */ export interface IStorageConfigManager { /** * Initialize the configuration manager */ initialize(): Promise<void>; /** * Set the event bus * @param eventBus Event bus */ setEventBus(eventBus: EventBus): void; /** * Reload configuration */ reload(): Promise<void>; /** * Reset configuration to default */ resetToDefault(): Promise<void>; /** * Apply configuration changes */ applyChanges(): Promise<void>; /** * Publish configuration change event */ publishConfigChanged(): Promise<void>; /** * Get the storage configuration */ getStorageConfig(): StorageConfig; /** * Get the unified storage manager options */ getUnifiedStorageManagerOptions(): UnifiedStorageManagerOptions; /** * Save configuration * @param config Configuration to save * @param description Optional description */ saveConfig(config: StorageConfig, description?: string): Promise<void>; /** * Shutdown the configuration manager */ shutdown(): void; }