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