// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license. /// /// type BlobPart = BufferSource | Blob | string; interface BlobPropertyBag { type?: string; endings?: "transparent" | "native"; } /** A file-like object of immutable, raw data. Blobs represent data that isn't necessarily in a JavaScript-native format. The File interface is based on Blob, inheriting blob functionality and expanding it to support files on the user's system. */ declare class Blob { constructor(blobParts?: BlobPart[], options?: BlobPropertyBag); readonly size: number; readonly type: string; arrayBuffer(): Promise; slice(start?: number, end?: number, contentType?: string): Blob; stream(): ReadableStream; text(): Promise; } interface FilePropertyBag extends BlobPropertyBag { lastModified?: number; } /** Provides information about files and allows JavaScript in a web page to * access their content. */ declare class File extends Blob { constructor( fileBits: BlobPart[], fileName: string, options?: FilePropertyBag, ); readonly lastModified: number; readonly name: string; }