/** * For DOM * */ /** * @ref https://www.iana.org/assignments/media-types/media-types.xhtml * */ export type BlobType = 'image/png' | 'image/*' | 'video/*' | 'audio/*' | 'text/plain' | 'text/html' | 'text/css' | 'text/javascript' | 'text/csv' | 'application/json' | 'application/xml' | string; export declare function fileToBase64String(file: File): Promise; export declare function fileToText(file: File): Promise; export declare function filesForEach(files: FileList | File[], f: (file: File, i: number, files: FileList | File[]) => void): void; export declare function filesMap(files: FileList | File[], f: (file: File, i: number, files: FileList | File[]) => A): A[]; export declare function filesToBase64Strings(files: FileList | File[]): Promise; export declare function fileToBinaryString(file: File): Promise; export declare function fileToArray(file: File): Promise; export declare function fileToArrayBuffer(file: File): Promise; export declare function downloadFile(url: string, filename?: string): Promise; /** * true: must from camera * false: must from album * undefined: both camera and album are allowed * */ export type CaptureOption = true | false | undefined; export interface SelectFileOptions { multiple?: boolean; accept?: BlobType; pattern?: string; capture?: CaptureOption; } export declare function selectFile(options?: SelectFileOptions): Promise; /** * must from album * * * must from camera * * * both album and camera * * */ export declare function selectImage(options?: SelectFileOptions): Promise; export declare function selectVideo(options?: SelectFileOptions): Promise; export declare function selectAudio(options?: SelectFileOptions): Promise; export declare function saveBlobToFile(blob: Blob, filename?: string): void; export declare function saveStringToFile(s: string, type?: BlobType, filename?: string): void;