import { Type } from 'io-ts'; import { Kind2, URIS, URIS2, URIS3 } from 'fp-ts/lib/HKT'; import { Adapter, Adapter1, Adapter2, Adapter3, MonadObservable, MonadObservable1, MonadObservable2, MonadObservable3 } from '../typeclasses/monad-observable/monad-observable'; import { MonadReader } from '../typeclasses/monad-reader/monad-reader.utils'; import { Filterable, Filterable1, Filterable2, Filterable3 } from 'fp-ts/lib/Filterable'; import { Alt, Alt1, Alt2, Alt3 } from 'fp-ts/lib/Alt'; export declare type LocalStorageContext = { localStorage: Storage; window: EventTarget & WindowEventHandlers; }; export declare type LocalStorageClient = { readonly getItem: (key: string, codec: Type, defaultValue: A) => Adapter; }; export declare type LocalStorageClient1 = { readonly getItem: (key: string, codec: Type, defaultValue: A) => Adapter1; }; export declare type LocalStorageClient2 = { readonly getItem: (key: string, codec: Type, defaultValue: A) => Adapter2; }; export declare type LocalStorageClient3 = { readonly getItem: (key: string, codec: Type, defaultValue: A) => Adapter3; }; export declare function localStorageClient(R: MonadReader, M: MonadObservable3 & Filterable3 & Alt3): Kind2>; export declare function localStorageClient(R: MonadReader, M: MonadObservable2 & Filterable2 & Alt2): Kind2>; export declare function localStorageClient(R: MonadReader, M: MonadObservable1 & Filterable1 & Alt1): Kind2>; export declare function localStorageClient(R: MonadReader, M: MonadObservable & Filterable & Alt): Kind2>;