import { EmitterValue } from 'node-on'; export declare type WaitFn = (cb: () => void) => () => void; export declare type UnsubFn = (() => void) | undefined; export interface IObserver { next: (chunk: any) => void; error?: (err: Error) => void; complete?: () => void; } export interface IObserverEx { next: (chunk: EmitterValue) => void; error?: (err: EmitterValue) => void; complete?: () => void; } export interface IAsyncObserver { next: (chunk: any) => Promise; error?: (err: Error) => Promise | void; complete?: () => Promise | void; } export interface IAsyncObserverEx { next: (chunk: EmitterValue) => Promise; error?: (err: EmitterValue) => Promise | void; complete?: () => Promise | void; }