import { Observable } from 'rxjs'; interface StreamContainer { id: string; stream: Observable; } /** * Utility class to create an switchable Observable stream. * From multiple observable, you can choose which one you * want to listen to. * * For example: * ```typescript * const switchableStream = new SwitchableStream() * .addStream('s1', obs1) * .addStream('s2', obs2); * switchableStream * .stream * .subscribe(data => { * // ... * }) * * switchableStream.useStream('s2'); * // ... * switchableStream.useStream('s1'); * ``` */ export declare class SwitchableStream { sources: Record; private toggle; readonly stream: Observable; constructor(sources?: Record, initialStreamId?: string | undefined); asObservable(): Observable; getCurrentSourceId(): string | undefined; addStream(id: string, obs: Observable): this; getStream(id: string): Observable; useStream(sourceId: string): this; } export {};