/** https://docs.evt.land/api/operator */ export declare type Operator = Operator.fλ | ((data: U) => boolean) | //Filter (U extends T ? (data: T) => data is U : never); export declare namespace Operator { type fλ = fλ.Stateless | fλ.Stateful; namespace fλ { type Stateless = (data: T, registerSideEffect: (sideEffect: () => void) => void) => readonly [U] | null; type Stateful = [ (data: T, prev: U, registerSideEffect: (sideEffect: () => void) => void) => readonly [U] | null, U ]; } type Stateless = fλ.Stateless | ((data: U) => boolean) | (U extends T ? (data: T) => data is U : never); }