import { t as ClientOptions } from "./http-C6GUCiWI.mjs"; //#region src/upload-client.d.ts type UploadFile = { stream: ReadableStream; name: string; size: number; } | { buffer: Uint8Array; name: string; } | { path: string; name?: string; }; interface UploadOptions { /** Folder name shown to the recipient (multi-file uploads) */ dirName?: string; /** * Expiry in seconds. Allowed: 3600 (1h), 7200 (2h), 21600 (6h), * 43200 (12h), 86400 (24h). Omit for server default. */ lifetime?: number; /** * Max downloads before the link expires. * Allowed: 1, 5, 10, 20, 50, 100. Omit for unlimited. */ maxDownloads?: number; /** Called with cumulative bytes uploaded and total encrypted bytes */ onProgress?: (uploaded: number, total: number) => void; /** AbortSignal to cancel the entire upload */ signal?: AbortSignal; } interface UploadResult { /** Full share URL with encryption key in the fragment */ url: string; /** Room ID (the path segment of the URL) */ roomId: string; /** Actual lifetime in seconds as confirmed by the server */ lifetime?: number; /** Actual max downloads as confirmed by the server */ maxDownloads?: number; } interface UploadClient { upload(files: UploadFile[], options?: UploadOptions): Promise; } declare function createUploadClient(options?: ClientOptions): UploadClient; //#endregion export { createUploadClient as a, UploadResult as i, UploadFile as n, UploadOptions as r, UploadClient as t };