import { $PromiseMaybe } from "../typings/$types.js"; import { ReactiveStream } from "./ReactiveStream.js"; export declare type $ReactiveStream = ReactiveStream; export declare namespace $ReactiveStream { type Map = (event: Map.Event) => O; namespace Map { type Event = { data: T; index: number; statement: LoopStatement | undefined; target: $ReactiveStream; }; type LoopStatement = "continue" | "break" | "return"; } type Filter = ((item: I, index: number, ctx: $ReactiveStream) => $PromiseMaybe) | ((item: I, index: number, ctx: $ReactiveStream) => item is O); namespace Filter { type GetInput = F extends Filter ? Input : never; type GetOutput = F extends Filter ? Output : never; type ToMap = F extends Filter ? Map : never; } type $Controller = {}; type GetType = RS extends ReactiveStream ? T : never; }