/// import { Device } from "./device"; import { ATypedArray, Dtype } from "./dtype"; export type TensorArrayData = Array; export declare abstract class UntypedStorage { abstract get byteSize(): number; abstract get mappedArrayBuffer(): ArrayBuffer | null; abstract get isMapped(): boolean; abstract mapReadAsync(): Promise; abstract unmap(): void; abstract destroy(): void; getTypedArray(dtype: Dtype): ATypedArray; } export declare class ArrayBufferStorage extends UntypedStorage { private _buffer; get cpuBuffer(): ArrayBuffer; get byteSize(): number; get mappedArrayBuffer(): ArrayBuffer | null; constructor(byteSize: number | ArrayBuffer | ATypedArray); get isMapped(): boolean; mapReadAsync(): Promise; unmap(): void; destroy(): void; } export declare class GPUBufferStorage extends UntypedStorage { private _buffer; private _mappedArrayBuffer; private _device; get byteSize(): number; get gpuBuffer(): GPUBuffer; get gpuDevice(): GPUDevice; get mappedArrayBuffer(): ArrayBuffer | null; constructor(buffer: GPUBuffer, device: GPUDevice); constructor(byteSize: number, device: GPUDevice, usage: GPUBufferUsageFlags); get isMapped(): boolean; mapReadAsync(): Promise; unmap(): void; destroy(): void; private copyBufferToReadableBuffer; } export declare function newTypedArrayForDtype(length: number, dtype: Dtype): Uint8Array | Int32Array | Float32Array; export declare function newTypedArrayFromArray(data: TensorArrayData | null, dtype: Dtype, device: Device): { storage: UntypedStorage; shape: number[]; strides: number[]; };