import { ShowtimeUploadError, ShowtimeUploadItem, ShowtimeUploadKind, ShowtimeUploadRule, ShowtimeUploadRules } from './ShowtimeUpload.types'; /** 图片 MIME 类型白名单。 */ export declare const SHOWTIME_IMAGE_MIME_REGEXP: RegExp; /** 视频 MIME 类型白名单。 */ export declare const SHOWTIME_VIDEO_MIME_REGEXP: RegExp; /** Office 文档和 PDF 的 MIME 类型白名单。 */ export declare const SHOWTIME_DOCUMENT_MIME_REGEXP: RegExp; /** 常见压缩包的 MIME 类型白名单。 */ export declare const SHOWTIME_ARCHIVE_MIME_REGEXP: RegExp; /** Office、PDF 和压缩包组成的附件 MIME 类型白名单。 */ export declare const SHOWTIME_FILE_MIME_REGEXP: RegExp; /** 获取小写且不含点号的文件扩展名。 */ export declare function getFileExtension(fileName: string): string; /** * 根据文件的 MIME 类型识别上传类别。 * * `accept` 仅用于在文件选择器和校验阶段进一步限制范围,不能作为类别识别依据。 * 当浏览器没有提供 MIME 类型时,才回退到严格的已知扩展名集合;如果 MIME 类型为 * `application/octet-stream`,仅允许压缩包扩展名,避免把未知二进制文件误判为附件。 */ export declare function detectUploadKind(file: File, enabledKinds: ShowtimeUploadKind[]): ShowtimeUploadKind | null; /** 判断一个原生 accept 令牌是否额外允许当前文件。 */ export declare function matchesAcceptToken(file: File, token: string): boolean; /** * 校验已识别类别的文件是否符合附加 accept 与大小规则,不会修改 File 对象。 * * 首先重复确认 MIME 类别,避免直接调用此方法时绕过统一的文件类别约束;随后才执行 * `accept` 规则。因此 accept 可按后缀或 MIME 收窄范围,却不会放宽基础类型白名单。 */ export declare function validateUploadFile(file: File, kind: ShowtimeUploadKind, rule?: ShowtimeUploadRule): { valid: true; } | { valid: false; code: 'accept' | 'max-size'; message: string; }; /** 在不修改原始数组的前提下,截取未超过剩余数量上限的文件。 */ export declare function limitFiles(files: File[], limit: number, currentCount: number): File[]; /** 为新选择的本地文件创建初始状态为 ready 的条目。 */ export declare function createUploadItem(file: File, kind: ShowtimeUploadKind): ShowtimeUploadItem; /** 根据已启用类别的规则生成 input 的 accept 属性值列表。 */ export declare function getAcceptTokens(kinds: ShowtimeUploadKind[], rules: ShowtimeUploadRules): string[]; /** 使用常见的二进制单位,将字节数转换为简洁的显示文本。 */ export declare function formatBytes(bytes: number): string; /** 将内部校验结果转换为对外派发的错误对象。 */ export declare function createValidationError(file: File, error: Exclude, { valid: true; }>): ShowtimeUploadError; /** 判断条目是否能够在内置界面中显示媒体缩略图。 */ export declare function isMediaKind(kind: ShowtimeUploadKind): boolean;