import ChannelContext from '../context/ChannelContext';
import IDisposable from '../../lang/IDisposable';
import { IStream } from './IStream';
import ChunkedStreamPlaybackMode from './ChunkedStreamPlaybackMode';
export default class ChunkedStream implements IStream {
    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;
    dispose(): void;
}
