UNPKG

@etherna/sdk-js

Version:

Etherna SDKs for operations on the network

54 lines 1.66 kB
import type { ImageRaw, ImageType } from "../.."; import type { BeeClient } from "../../clients"; import type { WriterUploadOptions } from "../base-writer"; export type ProcessedImage = { blurhash: string; aspectRatio: number; responsiveSourcesData: ResponseSourceData[]; }; export type ResponseSourceData = { type: ImageType; data: Uint8Array; width: number; }; interface ImageWriterOptions { beeClient: BeeClient; responsiveSizes?: number[]; } export declare class ImageWriter { private beeClient; private responsiveSizes; private file; private preGenerateImages?; static defaultResponsiveSizes: number[]; static avatarResponsiveSizes: number[]; static thumbnailResponsiveSizes: number[]; constructor(file: File | Blob, opts: ImageWriterOptions); /** * Upload the image(s) data on swarm * * @param options Upload options * @returns The raw image object */ upload(options?: WriterUploadOptions): Promise<ImageRaw>; /** * Generate a Data URL string from the file */ getFilePreview(): Promise<string>; /** * Pregenerate images and return the total size of the images, * used to calculate the best postage batch */ pregenerateImages(): Promise<ProcessedImage>; /** * Generate the preview, base64 and responsive images from the selected file */ private generateImages; getFileImageSize(buffer: ArrayBuffer): Promise<{ width: number; height: number; }>; imageToResponsiveSize(image: File | Blob, width: number): Promise<Blob>; } export {}; //# sourceMappingURL=writer.d.ts.map