package js.html;
/**
This Streams API interface represents a readable stream of byte data. The Fetch API offers a concrete instance of a ReadableStream through the body property of a Response object.
**/
@:native("ReadableStream") extern class ReadableStream {
@:overload(function(?underlyingSource:UnderlyingSource, ?strategy:QueuingStrategy):ReadableStream { })
function new(underlyingSource:UnderlyingByteSource, ?strategy:{ @:optional var highWaterMark : Float; @:optional var size : Any; });
final locked : Bool;
function cancel(?reason:Dynamic):js.lib.Promise;
@:overload(function():ReadableStreamDefaultReader { })
function getReader(options:{ var mode : String; }):ReadableStreamBYOBReader;
function pipeThrough(__0:{ var writable : WritableStream; var readable : ReadableStream; }, ?options:PipeOptions):ReadableStream;
function pipeTo(dest:WritableStream, ?options:PipeOptions):js.lib.Promise;
function tee():ts.Tuple2, ReadableStream>;
static var prototype : ReadableStream;
}