import * as Effect from "effect/Effect"; import * as Stream from "effect/Stream"; import * as React from "react"; import type { EffectError } from "./internal/error.js"; export type UseEffectResult = { readonly status: "idle" | "loading"; readonly data?: A | undefined; readonly error?: never; } | { readonly status: "success"; readonly data: A; readonly error?: never; } | { readonly status: "error"; readonly data?: never; readonly error: EffectError; }; export declare const useEffectOnce: (effect: Effect.Effect, options?: { readonly initial?: A | undefined; }) => UseEffectResult; export declare const useEffectMemo: (makeEffect: () => Effect.Effect, deps: React.DependencyList, options?: { readonly initial?: A | undefined; }) => UseEffectResult; export declare const useForkEffect: (makeEffect: () => Effect.Effect, deps: React.DependencyList) => void; export type StreamState = { readonly status: "starting"; readonly value?: A | undefined; } | { readonly status: "running"; readonly value: A; } | { readonly status: "error"; readonly error: unknown; readonly value?: A | undefined; }; export declare const useStream: (stream: Stream.Stream, options?: { readonly initial?: A | undefined; }) => StreamState; export declare const useStreamEffect: (makeStream: () => Effect.Effect, E, R>, deps: React.DependencyList, options?: { readonly initial?: A | undefined; }) => StreamState; export declare const useSubscriptionRef: (ref: import("effect/SubscriptionRef").SubscriptionRef, initial: A) => A; //# sourceMappingURL=primitives.d.ts.map