import { AudioStreamFormat } from "../../src/sdk/Exports"; import { ISpeechConfigAudioDevice } from "../common.speech/Exports"; 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; format: AudioStreamFormat; deviceInfo: Promise; setProperty?(name: string, value: string): void; getProperty?(name: string, def?: string): string; } export interface IAudioStreamNode extends IDetachable { id(): string; read(): Promise>; }