export default class MonitorRunner {
    constructor(env: any, devices: any, channel: any, params: any, hints: any);
    _env: any;
    _channel: any;
    _fn: string;
    _params: any;
    _hints: any;
    _rateLimiter: RateLimiter;
    _dataListener: (data: any) => void;
    _endListener: () => void;
    _errorListener: (error: any) => void;
    _devices: any;
    _streams: Map<any, any>;
    _ended: Set<any>;
    _stopped: boolean;
    _queue: AsyncQueue<any>;
    next(): Promise<any>;
    _onTriggerError(from: any, error: any): void;
    _onTriggerData(from: any, data: any): void;
    _onTriggerEnd(from: any): void;
    _onDeviceAdded(device: any): void;
    _onDeviceRemoved(device: any): void;
    end(): void;
    stop(): void;
    start(): void;
}
import RateLimiter from "../util/rate_limiter";
import AsyncQueue from "consumer-queue";
