///
import { ISpeechConfigAudioDevice } from "../common.speech/Exports";
import { AudioStreamFormatImpl } from "../sdk/Audio/AudioStreamFormat";
import { AudioSourceEvent } from "./AudioSourceEvents";
import { EventSource } from "./EventSource";
import { IDetachable } from "./IDetachable";
import { IStreamChunk } from "./Stream";
export interface IAudioSource {
id(): string;
turnOn(): Promise;
attach(audioNodeId: string): Promise;
detach(audioNodeId: string): void;
turnOff(): Promise;
events: EventSource;
format: Promise;
deviceInfo: Promise;
blob: Promise;
setProperty?(name: string, value: string): void;
getProperty?(name: string, def?: string): string;
}
export interface IAudioStreamNode extends IDetachable {
id(): string;
read(): Promise>;
}