import { DataStream } from './DataStream'; import { SerialDevice } from '../devices/Serial.device'; import { Device } from '../devices/Device'; import { DataTrackSupportedConstraints } from './DataTrackSupportedConstraints'; import { DeviceConstraintsType, DeviceConfig } from '../types/Devices.types'; import { WebSocketDevice } from '../devices/WebSocket.device'; /** * The DataDevices interface provides access to data sources like webcams, microphones, and BLE / USB devices. * ```typescript * import { DataDevices } from "datastreams-api"; * * const dataDevices = new DataDevices(); * ``` */ export declare class DataDevices extends EventTarget { devices: DeviceConfig[]; get [Symbol.toStringTag](): string; constructor(); load: (devices: DeviceConstraintsType | DeviceConstraintsType[]) => void; enumerateDevices: () => Promise; getSupportedDevices: (filter?: "data" | "media" | undefined) => Promise; getDeviceInfo: (constraints: DeviceConfig) => { deviceId: string; groupId: string; kind: any; label: any; protocols: string[]; modes: any; }; getSupportedConstraints: () => Promise; getDevice: (constraints: DeviceConfig, fallback?: boolean) => Device | SerialDevice | WebSocketDevice | undefined; startDataStream: (constraints?: DeviceConfig, stream?: DataStream) => Promise | SerialDevice | WebSocketDevice | undefined>; getUserDevice: (constraints?: DeviceConfig) => Promise | SerialDevice | WebSocketDevice | undefined>; }