export type Collector

= () => P; export type Responder

= (payload: P) => void; export type Lean = { stop: () => void; collect:

(collector: Collector

) => P; }; export interface ReactorCore { reaction

(collector: Collector

, responder?: Responder

): () => void; lean(actor: () => void): Lean; }