import { J as Json, S as SdkModule } from '../../module-Bq-w9Ws5.cjs'; import 'graphql-request'; type FileStatus = 'UPLOADING' | 'ACTIVE' | 'ARCHIVED' | 'DELETED'; type FileVisibility = 'PRIVATE' | 'TEAM' | 'WORKSPACE' | 'PUBLIC'; type FileShareType = 'PUBLIC_LINK' | 'EMAIL_INVITE' | 'GROUP_SHARE'; type FileShareAccessLevel = 'VIEW' | 'COMMENT' | 'DOWNLOAD' | 'EDIT'; interface BurdenoffFile { id: string; name: string; description?: string | null; workspaceId: string; folderId?: string | null; mimeType: string; extension: string; size: string; s3Key: string; s3Bucket: string; downloadUrl?: string | null; status: FileStatus; visibility: FileVisibility; starred: boolean; downloadCount: number; viewCount: number; sha256Hash?: string | null; uploadedById: string; createdAt: string; updatedAt: string; tags?: Json; } interface FileList { files: BurdenoffFile[]; total: number; page: number; limit: number; hasMore: boolean; } interface FilePagination { limit?: number; offset?: number; } interface UploadFileInput { name: string; mimeType: string; extension: string; contentBase64: string; description?: string; folderId?: string; visibility?: FileVisibility; tags?: Json; } interface UploadFileResponse { file: BurdenoffFile; uploadProgress?: number | null; message?: string | null; } interface FileShare { id: string; fileId: string; shareType: FileShareType; accessLevel: FileShareAccessLevel; token?: string | null; invitedEmail?: string | null; invitedUserIds?: string[] | null; requiresPassword: boolean; expiresAt?: string | null; maxDownloads?: number | null; accessCount: number; downloadCount: number; lastAccessedAt?: string | null; revokedAt?: string | null; revokedBy?: string | null; createdById: string; createdAt: string; updatedAt: string; } interface CreateShareInput { fileId: string; shareType: FileShareType; accessLevel: FileShareAccessLevel; expiresAt?: string; password?: string; maxDownloads?: number; invitedEmail?: string; invitedUserIds?: string[]; } interface FilesShareApi { revoke(shareId: string): Promise; } interface FilesApi { list(folderId?: string, pagination?: FilePagination): Promise; get(id: string): Promise; upload(input: UploadFileInput): Promise; download(id: string, expiresInSeconds?: number): Promise; share(input: CreateShareInput): Promise; shareApi: FilesShareApi; } declare const filesModule: SdkModule; export { type BurdenoffFile, type CreateShareInput, type FileList, type FilePagination, type FileShare, type FileShareAccessLevel, type FileShareType, type FileStatus, type FileVisibility, type FilesApi, type UploadFileInput, type UploadFileResponse, filesModule as default };