import { Observable } from 'rxjs'; export interface DataSourceViewer { id?: string; viewChange?: Observable; [key: string]: any; } export interface DataSource { loading$?: Observable; hasError$?: Observable; connect(viewer: Viewer): Observable; connect(viewerId: string): Observable; disconnect(viewer: Viewer): void; disconnect(viewerId: string): void; refresh(): void; }