export interface ILibraryServerData { readonly config?: Record; getPublicURL(url: string): string; initialize(): Promise; createFile(fileData: Record): Promise>; updateFile(id: number, fileData: Record): Promise; deleteFile(id: number, options?: { moveToRecycleBin: boolean }): Promise; recoverFile(id: number): Promise; getFile(id: number): Promise | null>; getFiles(options?: { select?: string; filters?: Record; isUrlFile?: boolean; }): Promise<{ result: Record[]; limit: number; offset: number; total: number; }>; // 文件夹相关方法 createFolder(folderData: Record): Promise; updateFolder(id: number, folderData: Record): Promise; deleteFolder(id: number): Promise; getFolder(id: number): Promise | null>; getFolders(options?: { parentId?: number; limit?: number; offset?: number; }): Promise[]>; // 标签相关方法 createTag(tagData: Record): Promise; updateTag(id: number, tagData: Record): Promise; deleteTag(id: number): Promise; getTag(id: number): Promise | null>; getTags(options?: { parentId?: number; limit?: number; offset?: number; }): Promise[]>; // 事务管理 beginTransaction(): Promise; commitTransaction(): Promise; rollbackTransaction(): Promise; // 其他方法 close(): Promise; createFileFromPath( filePath: string, fileMeta: Record, options?: { importType: string } ): Promise>; getFileFolder(fileId: number): Promise[]>; getFileTags(fileId: number): Promise[]>; setFileFolder(fileId: number, folderId: string): Promise; setFileTags(fileId: number, tagIds: string[]): Promise; getAllTags(): Promise[]>; getAllFolders(): Promise[]>; getLibraryId(): string; getItemPath(item: Record): Promise; getItemFilePath(item: Record, options?: { isUrlFile: boolean }): Promise; getItemThumbPath( item: Record, options?: { isUrlFile: boolean } ): Promise; queryFolder(query: Record): Promise[]>; queryTag(query: Record): Promise[]>; closeLibrary(): Promise; getLibraryInfo(): Promise>; }