import { Result } from './result'; /** * reference : https://stackoverflow.com/questions/20958078/resize-a-base-64-image-in-javascript-without-using-canvas * */ export declare function imageToCanvas(img: HTMLImageElement, width: number, height: number): HTMLCanvasElement; export declare function imageToBase64(img: HTMLImageElement, width: number, height: number): string; export declare function base64ToImage(data: string): Promise; /** * TODO check if there are exceptions * */ export declare function checkBase64ImagePrefix(s: string): string; /** * data type conversion * also work for resizing * FIXME wrap width and height into options object * */ export declare function base64ToCanvas(data: string, width?: number, height?: number): Promise; export declare function resizeBase64Image(data: string, targetWidth: number, targetHeight: number): Promise; export interface ISize { width: number; height: number; } export declare function getWidthHeightFromBase64(data: string): Promise; export declare const ResizeTypes: { with_in: "with_in"; at_least: "at_least"; }; export type ResizeType = keyof typeof ResizeTypes; export declare function resizeWithRatio(oriSize: ISize, targetSize: ISize, mode: ResizeType): ISize; export declare function resizeBase64WithRatio(data: string, preferredSize: ISize, mode: ResizeType): Promise; export declare function resizeImage(image: HTMLImageElement, maxWidth?: number, maxHeight?: number, mimeType?: string, quality?: number): base64; export type base64 = string; export declare function transformCentered(image: HTMLImageElement, flipXY: boolean, f: (ctx: CanvasRenderingContext2D) => void): HTMLCanvasElement; export declare function rotateImage(image: HTMLImageElement): HTMLCanvasElement; export declare function flipImage(image: HTMLImageElement): HTMLCanvasElement; /** * extract mime type from base64/URLEncoded data component * e.g. data:image/jpeg;base64,... -> image/jpeg * */ export declare function dataURItoMimeType(dataURI: string): string; /** * convert base64/URLEncoded data component to raw binary data held in a string * e.g. data:image/jpeg;base64,... * */ export declare function dataURItoBlob(dataURI: string): Blob; export declare function dataURItoFile(dataURI: string, originalFile?: File): File; /** simplified version of compressImageToBase64() / compressImageToBlob() */ export declare function compressImage(image: HTMLImageElement, mimeType?: string, quality?: number): base64; export declare function compressImageToBase64(args: { image: HTMLImageElement; canvas?: HTMLCanvasElement; ctx?: CanvasRenderingContext2D; mimeType?: string; maximumLength?: number; quality?: number; }): base64; export declare function canvasToBlob(canvas: HTMLCanvasElement, mimeType?: string, quality?: number): Promise; export declare function compressImageToBlob(args: { image: HTMLImageElement; canvas?: HTMLCanvasElement; ctx?: CanvasRenderingContext2D; mimeType?: string; maximumSize?: number; quality?: number; }): Promise; export declare function toImage(image: base64 | File | HTMLImageElement): Result; export declare function compressMobilePhoto(args: { image: base64 | File | HTMLImageElement; maximumSize?: number; quality?: number; }): Promise;