import { TcombUpdate, TcombUpdatesState, Token } from './lib' import { Observable, IDisposable } from 'rx' import { ComponentSinks, ComponentSources } from './lib/plugins' declare module './lib' { interface DriverExecution extends IDisposable { token: Token updates: Observable responses: Observable events (eventName: string): Observable } } declare module './lib/plugins' { interface PluginsExecution { matchWith (this: Observable, plugins: Plugin[], sources: ComponentSources, {dupe}?: {dupe?: boolean}): Observable matchStream (sourceObservable: Observable, ...args: any[]): Observable } interface matchWith { (this: Observable, plugins: Plugin[], sources: ComponentSources, {dupe}?: {dupe?: boolean}): Observable } interface matchStream { (sourceObservable: Observable, ...args: any[]): Observable } }