1declare namespace InternalBlobBinding { 2 interface BlobHandle { 3 slice(start: number, end: number): BlobHandle; 4 } 5 6 class FixedSizeBlobCopyJob { 7 constructor(handle: BlobHandle); 8 run(): ArrayBuffer | undefined; 9 ondone: (err: unknown, res?: ArrayBuffer) => void; 10 } 11} 12 13declare function InternalBinding(binding: 'blob'): { 14 createBlob(sources: Array<Uint8Array | InternalBlobBinding.BlobHandle>, length: number): InternalBlobBinding.BlobHandle; 15 FixedSizeBlobCopyJob: typeof InternalBlobBinding.FixedSizeBlobCopyJob; 16 getDataObject(id: string): [handle: InternalBlobBinding.BlobHandle | undefined, length: number, type: string] | undefined; 17 storeDataObject(id: string, handle: InternalBlobBinding.BlobHandle, size: number, type: string): void; 18 revokeDataObject(id: string): void; 19}; 20