import { EventBase } from '../events/EventBase'; import { EventDispatcher } from '../events/EventDispatcher'; export interface IConfigStore extends Record { } export declare class StoreEvent extends EventBase { readonly storeName: string; readonly propName: string; readonly newValue: any; readonly oldValue: any; readonly store: IConfigStore; constructor(type: string, storeName: string, propName: string, newValue: any, oldValue: any, store: IConfigStore); } export declare class ConfigManager extends EventDispatcher { static CHANGE_EVENT: string; private static _instance; static get instance(): ConfigManager; private _proxies; private _lib; propertyChange(storeName: string, prop: string, oldValue: any, newValue: any, setter?: boolean): void; private wrapObject; /** * Return referenced object of store. * NOTE! Direct modification of it property will emit warning * @param name */ getStoreRef(name: string): T; /** * Similar `set` but register store from object and merge values if already exist, return observabled object * @param name * @param obj */ addStore(name: string, obj: T): T; /** * Set specific value or series of values to store, emit changeEvent when value changes * @param storeName * @param objOrName * @param valueOrNone */ set(storeName: string, objOrName: Partial | string, valueOrNone?: any): boolean; /** * Get stored value from specific store by * @param storeName * @param key */ get(storeName: string, key: string): any; /** * Serialize store to JSON */ serialize(): string; /** * Deserialize data to current active manager * @param jsonObject * @param quiet - no emit change event, only create stores */ deserialize(jsonObject: Record | string, quiet?: boolean): void; static deserialize(jsonObject: Record, quiet?: boolean): void; } //# sourceMappingURL=ConfigManager.d.ts.map