/// import { EventEmitter } from 'events'; import { Readable } from 'stream'; import { StreamOptions } from './types'; export declare interface Stream { on(event: 'pause', listener: (paused: boolean) => void): this; on(event: 'finish', listener: () => void): this; on(event: 'almost-finished', listener: () => void): this; on(event: 'error', listener: (error: Error) => void): this; on(event: string, listener: Function): this; } export declare class Stream extends EventEmitter { private readonly audioSource; private readonly videoSource; private readable?; private cache; private _paused; private _finished; private _stopped; private _finishedLoading; private _emittedAlmostFinished; readonly video: boolean; width: number; height: number; readonly framerate: number; readonly bitsPerSample: number; readonly sampleRate: number; readonly channelCount: number; private almostFinishedTrigger; constructor(readable?: Readable, options?: StreamOptions); setReadable(readable?: Readable): void; pause(): void; get paused(): boolean; finish(): void; get finished(): boolean; stop(): void; get stopped(): boolean; createTrack(): MediaStreamTrack; private dataListener; private endListener; private processData; }