11cb0ef41Sopenharmony_cideclare namespace InternalBlobBinding {
21cb0ef41Sopenharmony_ci  interface BlobHandle {
31cb0ef41Sopenharmony_ci    slice(start: number, end: number): BlobHandle;
41cb0ef41Sopenharmony_ci  }
51cb0ef41Sopenharmony_ci
61cb0ef41Sopenharmony_ci  class FixedSizeBlobCopyJob {
71cb0ef41Sopenharmony_ci    constructor(handle: BlobHandle);
81cb0ef41Sopenharmony_ci    run(): ArrayBuffer | undefined;
91cb0ef41Sopenharmony_ci    ondone: (err: unknown, res?: ArrayBuffer) => void;
101cb0ef41Sopenharmony_ci  }
111cb0ef41Sopenharmony_ci}
121cb0ef41Sopenharmony_ci
131cb0ef41Sopenharmony_cideclare function InternalBinding(binding: 'blob'): {
141cb0ef41Sopenharmony_ci  createBlob(sources: Array<Uint8Array | InternalBlobBinding.BlobHandle>, length: number): InternalBlobBinding.BlobHandle;
151cb0ef41Sopenharmony_ci  FixedSizeBlobCopyJob: typeof InternalBlobBinding.FixedSizeBlobCopyJob;
161cb0ef41Sopenharmony_ci  getDataObject(id: string): [handle: InternalBlobBinding.BlobHandle | undefined, length: number, type: string] | undefined;
171cb0ef41Sopenharmony_ci  storeDataObject(id: string, handle: InternalBlobBinding.BlobHandle, size: number, type: string): void;
181cb0ef41Sopenharmony_ci  revokeDataObject(id: string): void;
191cb0ef41Sopenharmony_ci};
20