import { Disposable } from '@most/types'; import * as O from 'fp-ts/Option'; import * as E from './Env'; import { Eq } from './Eq'; import * as KV from './KV'; import * as RS from './ReaderStream'; import * as Ref from './Ref'; import { SchedulerEnv } from './Scheduler'; import * as S from './Stream'; /** * Use Refs to check if a value has changed between invocations * @since 0.11.0 * @category Constructor */ export declare const defaultOptionRef: () => Ref.Ref, O.Option> & KV.KV>; /** * Use Refs to check if a value has changed between invocations * @since 0.11.0 * @category Combinator */ export declare function useEqWith(ref: Ref.Ref>): (Eq?: Eq, initial?: boolean) => (value: A) => E.Env; /** * Use Refs to check if a value has changed between invocations * @since 0.11.0 * @category Combinator */ export declare const useEq: (Eq?: Eq, initial?: boolean) => (value: A) => E.Env; /** * @since 0.11.0 * @category Options */ export declare type UseMemoWithOptions = { readonly currentValue: Ref.Ref>; readonly changed: Ref.Ref>; }; /** * @since 0.11.0 * @category Use */ export declare const useMemoWith: (options: UseMemoWithOptions) => (env: E.Env, Eq?: Eq) => (value: B) => E.Env; /** * @since 0.11.0 * @category Use */ export declare const useMemo: (env: E.Env, Eq?: Eq) => (value: B) => E.Env; /** * @since 0.11.0 * @category Options */ export declare type UseDisposableWithOptions = { readonly disposable: Ref.Ref; readonly changed: Ref.Ref>; }; /** * @since 0.11.0 * @category Use */ export declare const useDisposableWith: (options: UseDisposableWithOptions) => (Eq?: Eq, switchLatest?: boolean) => (f: () => Disposable, value: A) => E.Env; /** * @since 0.11.0 * @category Use */ export declare const useDisposable: (Eq?: Eq, switchLatest?: boolean) => (f: () => Disposable, value: A) => E.Env; /** * @since 0.11.0 * @category Use */ export declare const useEffectWith: (options: UseDisposableWithOptions) => (Eq?: Eq, switchLatest?: boolean) => (env: E.Env, value: A) => E.Env; /** * @since 0.11.0 * @category Use */ export declare const useWithPrevious: (ref: Ref.Ref, O.Option>) => (f: (previous: O.Option, value: A) => B, value: A) => E.Env; /** * Helps you to convert a Kliesli arrow of an Env into a function to * a Disposable. Useful for UIs where you need to provide onClick={fn} * style handlers. * @since 0.11.0 * @category Use */ export declare function useEnvK, E1, B, E2>(f: (...args: A) => E.Env, onValue?: (value: B) => E.Env): E.Env Disposable>; /** * @since 0.11.0 * @category Use */ export declare const bindEnvK: (name: Exclude, f: (...args: Args) => E.Env, onValue?: ((value: B) => E.Env) | undefined) => (ma: E.Env) => E.Env Disposable; }>; /** * @since 0.11.0 * @category Options */ export declare type UseReaderStreamWithOptions = { readonly value: Ref.Ref>; } & UseDisposableWithOptions; /** * @since 0.11.0 * @category Use */ export declare const useReaderStreamWith: (options: UseReaderStreamWithOptions) => (Eq?: Eq) => (rs: RS.ReaderStream, dep: B) => E.Env>; /** * @since 0.11.0 * @category Use */ export declare const useReaderStream: (Eq?: Eq) => (rs: RS.ReaderStream, dep: A) => E.Env>; /** * @since 0.11.0 * @category Options */ export declare type UseStreamWithOptions = UseReaderStreamWithOptions; /** * @since 0.11.0 * @category Use */ export declare const useStreamWith: (options: UseStreamWithOptions) => (Eq?: Eq) => (stream: S.Stream, dep: B) => E.Env>; /** * @since 0.11.0 * @category Use */ export declare const useStream: (Eq?: Eq) => (stream: S.Stream, dep: A) => E.Env>; /** * @since 0.11.0 * @category Use */ export declare const useKVStream: (f: (value: A) => RS.ReaderStream, Eq: Eq) => (stream: RS.ReaderStream) => RS.ReaderStream; /** * @since 0.11.0 * @category Use */ export declare const useKVs: (f: (value: A) => E.Env, Eq: Eq) => (stream: RS.ReaderStream) => RS.ReaderStream; //# sourceMappingURL=Use.d.ts.map