/** * @since 1.0.0 */ import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; import * as Layer from "effect/Layer"; import * as Mailbox from "effect/Mailbox"; import type { ReadonlyRecord } from "effect/Record"; import * as Scope from "effect/Scope"; import * as Stream from "effect/Stream"; declare const Reactivity_base: Context.TagClass; /** * @since 1.0.0 * @category tags */ export declare class Reactivity extends Reactivity_base { } /** * @since 1.0.0 * @category constructors */ export declare const make: Effect.Effect; /** * @since 1.0.0 * @category accessors */ export declare const mutation: { /** * @since 1.0.0 * @category accessors */ (keys: ReadonlyArray | ReadonlyRecord>): (effect: Effect.Effect) => Effect.Effect; /** * @since 1.0.0 * @category accessors */ (effect: Effect.Effect, keys: ReadonlyArray | ReadonlyRecord>): Effect.Effect; }; /** * @since 1.0.0 * @category accessors */ export declare const query: { /** * @since 1.0.0 * @category accessors */ (keys: ReadonlyArray | ReadonlyRecord>): (effect: Effect.Effect) => Effect.Effect, never, R | Scope.Scope | Reactivity>; /** * @since 1.0.0 * @category accessors */ (effect: Effect.Effect, keys: ReadonlyArray | ReadonlyRecord>): Effect.Effect, never, R | Scope.Scope | Reactivity>; }; /** * @since 1.0.0 * @category accessors */ export declare const stream: { /** * @since 1.0.0 * @category accessors */ (keys: ReadonlyArray | ReadonlyRecord>): (effect: Effect.Effect) => Stream.Stream | Reactivity>; /** * @since 1.0.0 * @category accessors */ (effect: Effect.Effect, keys: ReadonlyArray | ReadonlyRecord>): Stream.Stream | Reactivity>; }; /** * @since 1.0.0 * @category accessors */ export declare const invalidate: (keys: ReadonlyArray | ReadonlyRecord>) => Effect.Effect; /** * @since 1.0.0 * @category layers */ export declare const layer: Layer.Layer; /** * @since 1.0.0 * @category model */ export declare namespace Reactivity { /** * @since 1.0.0 * @category model */ interface Service { readonly unsafeInvalidate: (keys: ReadonlyArray | ReadonlyRecord>) => void; readonly unsafeRegister: (keys: ReadonlyArray | ReadonlyRecord>, handler: () => void) => () => void; readonly invalidate: (keys: ReadonlyArray | ReadonlyRecord>) => Effect.Effect; readonly mutation: (keys: ReadonlyArray | ReadonlyRecord>, effect: Effect.Effect) => Effect.Effect; readonly query: (keys: ReadonlyArray | ReadonlyRecord>, effect: Effect.Effect) => Effect.Effect, never, R | Scope.Scope>; readonly stream: (keys: ReadonlyArray | ReadonlyRecord>, effect: Effect.Effect) => Stream.Stream>; } } export {}; //# sourceMappingURL=Reactivity.d.ts.map