import { Observable } from 'rxjs'; import { Json } from '@platform/types'; export { Json, JsonMap } from '@platform/types'; export declare type ILocalStorageProps = { [P in keyof T]: T[P]; }; export declare type ILocalStorage

> = ILocalStorageProps

& { $: { events$: Observable; get$: Observable>; set$: Observable>; delete$: Observable>; }; delete(key: keyof P): ILocalStorage

; }; export declare type ILocalStorageProvider = { type: string; get(key: string): Json | undefined; set(key: string, value: Json): Json | undefined; delete(key: string): void; }; export declare type LocalStorageEvent = ILocalStorageGetEvent | ILocalStorageSetEvent | ILocalStorageDeleteEvent; export declare type ILocalStorageGetEvent

= any> = { type: 'LOCAL_STORAGE/get'; payload: ILocalStorageGet

; }; export declare type ILocalStorageGet

= any> = { key: string; prop: keyof P; value: P[keyof P]; }; export declare type ILocalStorageSetEvent

= any> = { type: 'LOCAL_STORAGE/set'; payload: ILocalStorageSet

; }; export declare type ILocalStorageSet

= any> = { key: string; prop: keyof P; value: { from: P[keyof P]; to: P[keyof P]; }; }; export declare type ILocalStorageDeleteEvent

= any> = { type: 'LOCAL_STORAGE/delete'; payload: ILocalStorageDelete

; }; export declare type ILocalStorageDelete

= any> = { key: string; prop: keyof P; value: P[keyof P]; };