import { type IScheduler, type ISink, type IStream } from '../../stream/index.js'; export interface IStateCurry { (initialState?: undefined): (source: IStream) => IStream; | null, T>(initialState: I, source: IStream): IStream; (initialState: I): (source: IStream) => IStream; } /** * Create a multicast stream that remembers its latest value * * Without initialState (undefined): * stream: -1-2-3---> * subscriber1: -1-2-3---> * subscriber2: 2-3---> * * With initialState (0): * stream: -1-2-3---> * subscriber1: 01-2-3---> * subscriber2: 1-2-3---> */ export declare const state: IStateCurry; export declare class State implements IStream { readonly source: IStream; readonly initialState?: A | undefined; latestValue?: { value: A; }; constructor(source: IStream, initialState?: A | undefined); run(sink: ISink, scheduler: IScheduler): Disposable; }