import { AudioSourceEvent } from "./AudioSourceEvents"; import { EventSource } from "./EventSource"; import { IDetachable } from "./IDetachable"; import { Promise } from "./Promise"; import { IStreamChunk } from "./Stream"; export interface IAudioSource { Id(): string; TurnOn(): Promise; Attach(audioNodeId: string): Promise; Detach(audioNodeId: string): void; TurnOff(): Promise; Events: EventSource; } export interface IAudioStreamNode extends IDetachable { Id(): string; Read(): Promise>; }