import { ISpace, IFile, IFolder, ValueOf } from '../../../types'; export declare enum SpaceSSEEvent { CLOUD_FILE_CREATE = "cloud.file.create", CLOUD_FILE_UPDATE = "cloud.file.update", CLOUD_FILE_DELETE = "cloud.file.delete", CLOUD_FILE_MOVE = "cloud.file.move", CLOUD_FILE_RESTORE = "cloud.file.restore", CLOUD_FILE_COPY = "cloud.file.copy", CLOUD_FOLDER_CREATE = "cloud.folder.create", CLOUD_FOLDER_UPDATE = "cloud.folder.update", CLOUD_FOLDER_DELETE = "cloud.folder.delete", CLOUD_FOLDER_MOVE = "cloud.folder.move", CLOUD_FOLDER_RESTORE = "cloud.folder.restore", CLOUD_FOLDER_COPY = "cloud.folder.copy", CLOUD_UPDATE = "cloud.update", CLOUD_TRASH_CLEAN = "cloud.trash.clean" } export declare enum SSEChannels { CLOUD = "sse:cloud" } export type SpaceSSEMessageContent = ValueOf<{ [K in SpaceSSEEvent]: { type: K; payload: SpaceSSEEventPayload[K]; }; }>; export interface SpaceSSEEventPayload extends Record> { [SpaceSSEEvent.CLOUD_FILE_CREATE]: { spaceId: string; file: IFile; repository: { folders: IFolder[]; files: IFile[]; size: number; }; }; [SpaceSSEEvent.CLOUD_FILE_UPDATE]: { spaceId: string; file: IFile; repository: { folders: IFolder[]; files: IFile[]; size: number; }; }; [SpaceSSEEvent.CLOUD_FILE_DELETE]: { spaceId: string; fileId: string; fileName: string; repository: { folders: IFolder[]; files: IFile[]; size: number; }; trash: { folders: IFolder[]; files: IFile[]; size: number; }; }; [SpaceSSEEvent.CLOUD_FILE_MOVE]: { spaceId: string; file: IFile; oldFolderId: string | null; newFolderId: string | null; repository: { folders: IFolder[]; files: IFile[]; size: number; }; }; [SpaceSSEEvent.CLOUD_FILE_RESTORE]: { spaceId: string; file: IFile; repository: { folders: IFolder[]; files: IFile[]; size: number; }; trash: { folders: IFolder[]; files: IFile[]; size: number; }; }; [SpaceSSEEvent.CLOUD_FILE_COPY]: { spaceId: string; file: IFile; originalFileId: string; repository: { folders: IFolder[]; files: IFile[]; size: number; }; }; [SpaceSSEEvent.CLOUD_FOLDER_CREATE]: { spaceId: string; folder: IFolder; repository: { folders: IFolder[]; files: IFile[]; size: number; }; }; [SpaceSSEEvent.CLOUD_FOLDER_UPDATE]: { spaceId: string; folder: IFolder; repository: { folders: IFolder[]; files: IFile[]; size: number; }; }; [SpaceSSEEvent.CLOUD_FOLDER_DELETE]: { spaceId: string; folderId: string; folderName: string; repository: { folders: IFolder[]; files: IFile[]; size: number; }; trash: { folders: IFolder[]; files: IFile[]; size: number; }; }; [SpaceSSEEvent.CLOUD_FOLDER_MOVE]: { spaceId: string; folder: IFolder; oldParentId: string | null; newParentId: string | null; repository: { folders: IFolder[]; files: IFile[]; size: number; }; }; [SpaceSSEEvent.CLOUD_FOLDER_RESTORE]: { spaceId: string; folder: IFolder; repository: { folders: IFolder[]; files: IFile[]; size: number; }; trash: { folders: IFolder[]; files: IFile[]; size: number; }; }; [SpaceSSEEvent.CLOUD_FOLDER_COPY]: { spaceId: string; folder: IFolder; originalFolderId: string; repository: { folders: IFolder[]; files: IFile[]; size: number; }; }; [SpaceSSEEvent.CLOUD_UPDATE]: { spaceId: string; cloud: ISpace; }; [SpaceSSEEvent.CLOUD_TRASH_CLEAN]: { spaceId: string; repository: { folders: IFolder[]; files: IFile[]; size: number; }; trash: { folders: IFolder[]; files: IFile[]; size: number; }; }; }