import ChannelContext from '../context/ChannelContext';
import IDisposable from '../../lang/IDisposable';
import { IStreamSubscriber } from './IStreamSubscriber';
import ChunkedStreamPlaybackMode from './ChunkedStreamPlaybackMode';
export default class ChunkedStreamSubscriber implements IStreamSubscriber {
    private readonly _logger;
    private readonly _channelContext;
    private readonly _chunkedStreamPlaybackMode;
    private readonly _disposables;
    private readonly _monitorDisposables;
    private readonly _handleStreamFailure;
    private _streamStatistics;
    private _monitorFailureCount;
    constructor(channelContext: ChannelContext, chunkedStreamPlaybackMode: ChunkedStreamPlaybackMode, handleStreamFailure: () => Promise<void>);
    start(uri: URL, token: string): Promise<void | IDisposable>;
    private retryOnStreamFailure;
    private monitor;
    isStreamHealthy(): Promise<boolean>;
    dispose(): void;
}
