@benev/slate
Version:
frontend web stuff
19 lines (18 loc) • 781 B
TypeScript
import { Op } from "../op/op.js";
import { Signal } from "./signal.js";
import { OpSignal } from "./op_signal.js";
import { Collector, Lean, ReactorCore, Responder } from "../reactor/types.js";
export declare class SignalTower implements ReactorCore {
#private;
signal<V>(value: V): Signal<V>;
computed<V>(fun: () => V): Signal<V>;
computedAsync<X, V>(collector: () => X, responder: (x: X) => Promise<V>): Promise<Signal<V>>;
op<V>(op?: Op.For<V>): OpSignal<V>;
load<V>(fn: () => Promise<V>): OpSignal<V>;
many<S extends {
[key: string]: any;
}>(states: S): { [P in keyof S]: Signal<S[P]>; };
reaction<P>(collector: Collector<P>, responder?: Responder<P>): () => void;
lean(actor: () => void): Lean;
get wait(): Promise<void>;
}