import { Functor4 } from 'fp-ts/Functor'; import { Profunctor4 } from 'fp-ts/Profunctor'; import * as A from './Adapter'; import * as E from './Env'; import * as RS from './ReaderStream'; import * as Ref from './Ref'; /** * RefAdapter is an abstraction of Refs that will output an Adapter to send and receive events through. * It utilizes the output of its Ref instead of the input so you will not find any combinators for * updating the Adapter in-place. This allows for creating a Functor + Profunctor instances * @since 0.11.0 * @category Model */ export interface RefAdapter extends Ref.Ref> { } /** * @since 0.12.0 * @category Combinator */ export declare function sendEvent(event: A): (ra: RefAdapter) => E.Env; /** * @since 0.11.0 * @category Combinator */ export declare function getSendEvent(ra: RefAdapter): E.Env void>; /** * @since 0.11.0 * @category Combinator */ export declare function getEvents(ra: RefAdapter): RS.ReaderStream; /** * @since 0.12.0 * @category Combinator */ export declare function listenToEvents(f: (value: A) => E.Env): (ra: RefAdapter) => RS.ReaderStream; /** * @since 0.11.0 * @category Combinator */ export declare function map(f: (value: A) => B): (ra: RefAdapter) => RefAdapter; /** * @since 0.11.0 * @category Combinator */ export declare function local(f: (value: A) => B): (ra: RefAdapter) => RefAdapter; /** * @since 0.11.0 * @category Combinator */ export declare const promap: (f: (value: B) => A, g: (value: C) => D) => (adapter: RefAdapter) => RefAdapter; /** * @since 0.11.0 * @category URI */ export declare const URI = "@typed/fp/RefAdapter"; /** * @since 0.11.0 * @category URI */ export declare type URI = typeof URI; declare module 'fp-ts/HKT' { interface URItoKind4 { [URI]: RefAdapter; } } declare module './HKT' { interface URItoVariance { [URI]: V & V; } } /** * @since 0.11.0 * @category Instance */ export declare const Functor: Functor4; /** * @since 0.11.0 * @category Instance */ export declare const Profunctor: Profunctor4; /** * @since 0.13.5 * @category Instance */ export declare function wrap(ra: RefAdapter): { readonly sendEvent: (event: A) => E.Env; readonly getSendEvent: E.Env void>; readonly events: RS.ReaderStream; readonly listenToEvents: (f: (value: B) => E.Env) => RS.ReaderStream; readonly get: E.Env void, import("@most/types").Stream]>; readonly has: E.Env; readonly set: (input: I) => E.Env void, import("@most/types").Stream]>; readonly update: (f: (value: readonly [(event: A) => void, import("@most/types").Stream]) => E.Env) => E.Env void, import("@most/types").Stream]>; readonly remove: E.Env void, import("@most/types").Stream]>>; readonly values: RS.ReaderStream void, import("@most/types").Stream]>>; }; //# sourceMappingURL=RefAdapter.d.ts.map