import type { FilesGetterOptions } from "./types"; /** * 用户取消选择时 reject 的 Error 名称。 * 调用方可通过 `err.name === 'AbortError'` 判断。 */ export declare const ABORT_ERROR_NAME = "AbortError"; /** * 以编程方式打开浏览器原生文件选择对话框,并返回用户选中的 {@link File} 对象数组。 * * - 创建隐藏的 `` 元素。 * - 根据 {@link FilesGetterOptions} 设置 `accept`、`multiple`、`webkitdirectory` 等属性。 * - 调用 `input.click()` 弹出系统对话框。 * - 用户确认选择后 resolve 为 File 数组;用户取消则 reject。 * * directory 模式下,每个 File 自带 `webkitRelativePath` 属性 * (如 `"sub/folder/a.txt"`),调用方可据此还原目录结构。 * * @example * ```ts * try { * // 选取单张图片 * const [file] = await filesGetter({ accept: 'image/*' }) * if (file) console.log(file.name) * * // 选取多个文件 * const files = await filesGetter({ mode: 'multiple' }) * console.log(`已选择 ${files.length} 个文件`) * * // 选取整个文件夹(每个 File 带 webkitRelativePath) * const folderFiles = await filesGetter({ mode: 'directory' }) * for (const f of folderFiles) { * console.log(f.webkitRelativePath) // e.g. "sub/img/photo.jpg" * } * } catch (err) { * if (err.name === 'AbortError') { } // 用户取消 * } * ``` */ export declare function filesGetter(options?: FilesGetterOptions): Promise; //# sourceMappingURL=filesGetter.d.ts.map