type StoreFlags = { readonly: boolean; validate: boolean; }; type ProxyOptions = { codify: (value: TData, identifier: string) => string | Promise; fromJSON: (jsonData: TJSONData, identifier: string) => TData | Promise; toJSON: (value: TData, identifier: string) => TJSONData | Promise; validate: (oldValue: TData, newValue: TData, identifier: string) => void | Promise; }; type StoreProxy = { set(value: TData): Promise; get(): Promise; getWithSet(setterFn: () => TData | Promise): Promise; delete(): Promise; }; export interface IMeshStore { child(childIdentifier: string, flags?: Partial): IMeshStore; proxy(id: string, options: ProxyOptions): StoreProxy; } export {};