///
import { DataTrackSettings } from "./DataTrackSettings";
import { DataTrackCapabilities } from "./DataTrackCapabilities";
import { DataTrackConstraints } from "./DataTrackConstraints";
import { Device } from "../devices/Device";
import { ReadableStreamController } from 'stream/web';
export declare class DataStreamTrack extends EventTarget {
contentHint: string;
enabled: boolean;
isolated: boolean;
muted: boolean;
remote: boolean;
id: string;
kind: string;
label: string;
readyState: MediaStreamTrackState;
data: any[];
timestamps: any[];
controller?: ReadableStreamController;
readable: ReadableStream;
writable: WritableStream;
callbacks: Map;
pipeline: any[];
_bufferSize: number;
get [Symbol.toStringTag](): string;
constructor(device?: Device, // Get Track Details
track?: MediaStreamTrack, // Get Readable Stream from MediaStreamTrack
contentHint?: string);
deinit: () => void;
applyConstraints: () => Promise;
clone: () => this;
getCapabilities: () => DataTrackCapabilities;
getConstraints: () => DataTrackConstraints;
getSettings: () => DataTrackSettings;
stop: () => void;
addData: (values: any, timestamps?: any) => void;
ondata: (data: any, timestamp: any) => void;
subscribe: (callback: Function) => string;
unsubscribe: (id: string) => boolean;
}