import { Observable , PartialObserver , Subscription } from 'rxjs' ; import { Emission } from '../shared/emission' ; import { Clearable } from '../shared/clearable' ; /**
 *
 * Denotes objects behaving like a [pin](https://connective.dev/docs/pin)
 *
 */ export interface PinLike extends Clearable { param pins returns note from ( ... pins ) : PinLike ; param pins returns note to ( ... pins ) : PinLike ; param pins returns note serialFrom ( ... pins ) : PinLike ; param pins returns note serialTo ( ... pins ) : PinLike ; throws observable : Observable < Emission > ; subscribe ( observer ? ) : Subscription ; param observerOrNext param error param complete returns subscribe ( next ? , error ? , complete ? ) : Subscription ; } param whatever export function isPinLike ( whatever ) { return whatever !== undefined && ( typeof whatever . from == 'function' ) && ( typeof whatever . to == 'function' ) && 'observable' in whatever && ( typeof whatever . subscribe == 'function' ) ; }