import { Query } from '../query/query' ; import { FactPath , FactReference , Storage } from '../storage' ; export interface Subscription { load ( ) : Promise < void > ; dispose ( ) : void ; } export type Handler = ( paths : FactPath [ ] ) => Promise < void > ; export interface Observable { subscribe ( added , removed ) : Subscription ; } export interface Feed extends Storage { from ( fact , query ) : Observable ; }