/** Type of  Observer . next export type ObserverNext < T > = ( value : T ) => void ; /** Type of  Observer . error export type ObserverError = ( e : any ) => void ; /** Type of  Observer . complete export type ObserverComplete = ( ) => void ; /** Observer mimics Observer from ECMAScript TC39 Observable proposal */ export interface Observer < T > { next : ObserverNext < T > ; error : ObserverError ; complete : ObserverComplete ; } export interface Subscribable < T > { subscribe ( observer ) : Subscription ; } /**
 * An observable that aligns with the
 *  https and
 * can be consumed by other observable libraries like
 *  https or
 *  https .
  export interface Observable < T > { subscribe ( ) : Subscription ; subscribe ( observer ) : Subscription ; subscribe ( next , error ? , complete ? ) : Subscription ; [ Symbol . observable ] ( ) : Subscribable < T > ; } /** Subscription mimics Subscription from ECMAScript TC39 Observable proposal */ export interface Subscription { readonly closed : boolean ; unsubscribe ( ) : void ; }