import { Flat } from "../flatstate/flat.js";
import { SignalTower } from "../signals/tower.js";
import { Collector, Lean, ReactorCore, Responder } from "./types.js";
export declare class Reactor implements ReactorCore {
    #private;
    flat: Flat;
    signals: SignalTower;
    constructor(flat: Flat, signals: SignalTower);
    get wait(): Promise<void>;
    reaction<P>(collector: Collector<P>, responder?: Responder<P>): () => void;
    lean(actor: () => void): Lean;
}
