export interface StorageEngine { getItem(key: string): any; setItem(key: string, value: any): any; removeItem(key: string): void; } export interface PersistConfig { key?: string; storageEngine?: StorageEngine; classes?: { [index: string]: any; }; serializers?: { [index: string]: (obj: any, type?: any) => any; }; deserializers?: { [index: string]: (obj: any, type?: any) => any; }; migrate?: (persistIn: any, initialIn: any) => any; } export declare function persist(initialState: T, config: PersistConfig): T; export declare function persistAsync(initialState: T, config: PersistConfig): Promise; export declare function migrate(persistIn: any, initialIn: any): any;