/// import { Handler } from './utils'; import { ClientResponse } from './client/protocol'; import { ServerResponse } from './server'; export interface ClientConfig { webServer?: string; clientSign?: string; protocol_version?: string; client_version?: string; proxy_ip?: string; proxy_port?: number; language?: 'zh-CN' | 'en-US'; server_ip?: string; server_port?: number; server5_port?: number; server5_ssl_port?: number; is_ftps?: boolean; tcpEnable?: number; tcpDelay?: number; origin?: string; autoUpdateSwitch?: boolean; cHashVerifySwitch?: boolean; cTransEncryptSwitch?: boolean; group_id?: number; clientPorts?: number[]; clientHosts?: string[]; certSelect?: number; forbidClientFilterSwitch?: boolean; transIgnoreRegSwitch?: boolean; transIgnoreReg?: string; transIgnoreSizeSwitch?: boolean; transIgnoreSize?: number; transSyncSwitch?: boolean; transSyncTriggeringCondition?: Record; transIncludeRegSwitch?: boolean; transIncludeReg?: string; hideHiddenFiles?: boolean; space_id?: number; is_encrypt?: boolean; recv_state?: boolean; } export declare enum TriggerType { Once_interval_time = "once", Interval_time = "integer", Clock_time = "clock", Weekly_time = "timing" } export declare enum REQUEST_STATE { STATE_UNKNOWN = 0, STATE_TODO = 1, STATE_CONNECTING_PROXY = 2, STATE_WAIT_NEXT_COMMAND = 3, STATE_WAIT_LOGIN_INFO = 4, STATE_READY = 5, STATE_RECOVER = 6, STATE_STARTED = 7, STATE_STOPPING = 8, STATE_STOPPED = 9, STATE_SUCCESSFUL = 10, STATE_FAILED = 11, STATE_AUTH_FAILED = 12, STATE_PROXY_CLOSED = 13 } export interface TriggeringCondition { taskFrequencyType: TriggerType; clock?: string; once?: number; integer?: number; timing?: { week: number; clock: string; }; } export declare enum TransferTaskType { Unknown = 0, Upload = 1, Download = 2, Sync = 3 } export declare enum UploadStatus { UPLOADING = "uploading", PAUSED = "paused", CANCELLED = "cancelled" } export interface UserInfo { username?: string; password?: string; spaceId?: number; uk?: string; token?: string; isEncrypt?: boolean; authWay?: number; } export interface ClientResult { eventType: string; data?: any; result: boolean; code: number; } export interface BaseResponse { action: string; message: string; success: boolean; result: number; } export declare enum FileType { File = 0, Folder = 1, VirtualFolder = 2 } export interface FileInfo { file_type: FileType; name: string; size: number; time: number; type: boolean; create_time?: number; } export interface GroupInfo { id: number; name: string; write_time: number; } export interface AttributesResponse extends BaseResponse { file_count: number; file_size: number; folder_count: number; is_end: boolean; path: string; write_time: number; } export interface ListResponse extends BaseResponse { path: string; group_id: string; list: FileInfo[]; } export interface LoginResponse extends BaseResponse { enable_server_search: boolean; group: GroupInfo[]; } export interface MoveResponse extends BaseResponse { failed_count: number; file_count: number; is_end: boolean; } export interface RenameResponse extends MoveResponse { } export interface SelectFileResponse extends BaseResponse { list: { name: string; file_type: FileType; file_size: number; }[]; } export interface P2pInfoResponse extends BaseResponse { connected: boolean; enable: boolean; id: string; key: string; } export interface PreviewResponse extends BaseResponse { path: string; url: string; } export interface UpdateClientResponse extends BaseResponse { version: string; } export interface CheckResponse extends BaseResponse { ftpmanager_version: string; sign: string; } export interface CopyResponse extends MoveResponse { } export interface RemoveResponse extends MoveResponse { } export interface UploadResponse extends BaseResponse { task_start: boolean; task_id: number; } export interface SyncResponse extends BaseResponse { task_id: number; } export interface TaskCountResponse extends BaseResponse { count: number; } export interface TaskInfo { 'drop-rate': number; 'elapsed-time': number; 'end-time': string; 'file-failed': number; 'file-max': number; 'file-pos': number; 'local-path': string[]; mss: number; 'protocol-type': string; 'remote-path': string[]; rtt: number; 'size-max': number; 'size-pos': number; speed: number; 'start-time': string; 'task-group': string; 'task-id': string; 'task-name': string; 'task-state': string; 'task-type': string; } export interface GroupInfo { write_time: number; id: number; name: string; } export interface TaskCountResponse extends BaseResponse { count: number; } export interface AllTaskStatusResponse extends BaseResponse { task_list: TaskInfo[]; } export interface GroupListResponse extends BaseResponse { group: GroupInfo[]; } export interface TaskStatusResponse extends BaseResponse { task_list: TaskInfo[]; } export interface TaskStateChangeResponse extends BaseResponse { state: REQUEST_STATE; task_id: number; } export interface CheckFilesRequest { action: string; task_id: number; task_server_id: string; files: Array<{ name: string; path: string; }>; } export interface TaskInfoResponse extends BaseResponse { drop_rate: number; elapsed_time: number; end_time: string; failed: number; file_max: number; file_pos: number; files: string[]; is_timing_task: boolean; is_upload: boolean; local_path: string[]; mss: number; protocol_type: string; remote_path: string[]; result: number; rtt: number; show_name: string; size_max: number; size_pos: number; speed: number; start_time: string; state: REQUEST_STATE; task_id: number; task_server_id?: string; task_name: string; timing_type: number; } export declare type DownloadResponse = UploadResponse; export interface ListenEvent { (command: ClientResponse.CHECK, handler?: Handler): void; (command: ClientResponse.LIST, handler?: Handler): void; (command: ClientResponse.LOGIN, handler?: Handler): void; (command: ClientResponse.MKDIR, handler?: Handler): void; (command: ClientResponse.MOVE, handler?: Handler): void; (command: ClientResponse.COPY, handler?: Handler): void; (command: ClientResponse.RENAME, handler?: Handler): void; (command: ClientResponse.REMOVE, handler?: Handler): void; (command: ClientResponse.GET_ATTRIBUTES, handler?: Handler): void; (command: ClientResponse.GET_GROUP_LIST, handler?: Handler): void; (command: ClientResponse.SELECT_P2P_FILE, handler?: Handler): void; (command: ClientResponse.P2P_INFO, handler?: Handler): void; (command: ClientResponse.PREVIEW, handler?: Handler): void; (command: ClientResponse.UPDATE_CLIENT, handler?: Handler): void; (command: ClientResponse.UPLOAD, handler?: Handler): void; (command: ClientResponse.DOWNLOAD, handler?: Handler): void; (command: ClientResponse.SET_SPACE_ID, handler?: Handler): void; (command: ClientResponse.TASK_COUNT, handler?: Handler): void; (command: ClientResponse.SYNC, handler?: Handler): void; (command: ClientResponse.GET_TASK_STATUS, handler?: Handler): void; (command: ClientResponse.GET_ALL_TASK_STATUS, handler?: Handler): void; (command: ClientResponse.TASK_STATE_CHANGED, handler?: Handler): void; (command: ClientResponse.GET_TASK_INFO, handler?: Handler): void; (command: ClientResponse.GET_TASK_INFO_BY_SERVER_ID, handler?: Handler): void; (command: ClientResponse.GET_COMPLETE_TASK_INFO, handler?: Handler): void; (command: ClientResponse.GET_COMPLETE_TASK_INFO_BY_SERVER_ID, handler?: Handler): void; (command: ClientResponse.TRANSFER_SUCCESS, handler?: Handler): void; (command: ClientResponse.CHECK_FILES, handler?: Handler): void; } export interface ServerConfig { url: string; } export interface ServerBaseResponse { data: T; success: boolean; result: number; } export declare type ServerLoginResponse = ServerBaseResponse<{ black_list: string; enable_compress: boolean; enable_search: boolean; enable_server_trans: boolean; enable_sync: boolean; enable_upload: boolean; enable_upload_event: boolean; enable_watermark: boolean; forbid_client_filter_switch: boolean; group: { black_list: string; enable_upload: boolean; forbid_client_filter_switch: boolean; id: number; max_upload: number; name: string; trans_ignore_reg: string; trans_ignore_reg_switch: boolean; trans_ignore_size: number; trans_ignore_size_switch: boolean; white_list: string; write_time: number; }[]; limit_code: number; limit_download: boolean; limit_upload: boolean; max_upload: number; report_task_state: boolean; report_traffic: boolean; result: number; rsync_blocklen: number; rsync_magic: number; server_version: string; soft_version: number; support_rsync_trans: boolean; trans_ignore_reg: string; trans_ignore_reg_switch: boolean; trans_ignore_size: number; trans_ignore_size_switch: boolean; trans_unit: number; watermark_position: number; white_list: string; http_dl_port?: number; https_dl_port?: number; }>; export declare type ServerListResponse = ServerBaseResponse<{ file_type: FileType; name: string; size: number; time: number; type: boolean; create_time?: number; }[]>; export declare type ServerFileInfoResponse = ServerBaseResponse<{ supportResumeTrans: boolean; supportRsync: boolean; writeTime: number; fileSize: number; mode: number; encryptType?: number; keyEncryptType?: number; encryptKey?: Uint8Array; sha256?: Uint8Array; endEncryptKeyLen?: number; }>; export declare type ServerActionResponse = ServerBaseResponse<{ failedCount: number; isEnd: 0 | 1; successCount: number; }>; export interface ServerAttributesResponse extends ServerBaseResponse { file_count: number; file_size: number; folder_count: number; isEnd: 0 | 1; write_time: number; } export interface ServerDownloadStartResponse { writeTime: number | Long; fileSeek: number | Long; errorCode: number; sysError: number; } export declare type ServerDownloadingResponse = ServerBaseResponse<{ id: number; size: number; }>; export declare type ServerDownloadSuccessResponse = ServerBaseResponse<{ id: number; size: number; file: Blob; }>; export declare type ServerUploadSuccessResponse = ServerBaseResponse<{ size: number; requestId?: number; }> & { requestId: number; }; export declare type ServerUploadingResponse = ServerBaseResponse<{ id: number; size: number; }>; export declare type ServerHttpDownloadResponse = ServerBaseResponse<{ uri: string; downloadUrl: string; }>; export declare type ServerHttpPreviewResponse = ServerBaseResponse<{ uri: string; previewUrl: string; }>; export declare enum CleanType { FileSystemClean = 0 } export interface ServerExtractFileResponse extends ServerBaseResponse { errorCode: number; isEnd: boolean; path: string[]; } export interface RecycleBinItem { fileId: number; fileName: string; sourceFolder: string; fileSize: number; cleanTime: number; cleanType: CleanType; documentType?: number; } export declare type ServerRecycleBinRecordsResponse = ServerBaseResponse<{ items: RecycleBinItem[]; page: number; total: number; }>; export declare type ServerRemoveRecycleBinItems = ServerBaseResponse<{ items: { fileId?: number; errorCode?: number; }[]; }>; export declare type ServerRestoreRecycleBinItems = ServerRemoveRecycleBinItems; export interface VirusRecordItem { id: number; fileName: string; filePath: string; fileSize: number; virusName: string; userName: string; userEmail: string; unixTimeStamp: number; ip: string; userId?: number; recordType: number; } declare enum SortFields { Filename = 1, FileSize = 2, VirusName = 3, TimeStamp = 4, Username = 5 } export interface TaskState { state?: number | null; filePos?: number | Long | null; fileMax?: number | Long | null; sizePos?: number | Long | null; sizeMax?: number | Long | null; failedCount?: number | Long | null; transMode?: number | null; taskSpeed?: number | null; taskLastError?: number | null; eventType?: number | null; } export declare type VirusListParams = { pageIndex: number; pageSize: number; storageSpaceId: number; fileName: string; userName: string; userEmail: string; startTime: number | Long; endTime: number | Long; isRelativePath: boolean; descOrder?: boolean; sortField?: SortFields | number; userId?: number; }; export declare type ServerGetVirusList = ServerBaseResponse<{ total: number; current: number; virusRecordList: VirusRecordItem[]; }>; export interface ServerEvent { (command: ServerResponse.LOGIN, handler?: Handler): void; (command: ServerResponse.LIST, handler?: Handler): void; (command: ServerResponse.MKDIR, handler?: Handler): void; (command: ServerResponse.GET_SERVER_FILE_INFO, handler?: Handler): void; (command: ServerResponse.REMOVE, handler?: Handler): void; (command: ServerResponse.RENAME, handler?: Handler): void; (command: ServerResponse.MOVE_OR_COPY, handler?: Handler): void; (command: ServerResponse.GET_ATTRIBUTES, handler?: Handler): void; (command: ServerResponse.ON_DOWNLOAD_START, handler?: Handler): void; (command: ServerResponse.ON_DOWNLOADING, handler?: Handler): void; (command: ServerResponse.ON_DOWNLOAD_SUCCESS, handler?: Handler): void; (command: ServerResponse.ON_UPLOAD_START, handler?: Handler): void; (command: ServerResponse.ON_UPLOADING, handler?: Handler): void; (command: ServerResponse.ON_UPLOAD_SUCCESS, handler?: Handler): void; (command: ServerResponse.SET_SPACE_ID, handler?: Handler): void; (command: ServerResponse.HTTP_DOWNLOAD, handler?: Handler): void; (command: ServerResponse.CLEAR_RECYCLE_BIN, handler?: Handler): void; (command: ServerResponse.GET_VIRUS_FILE_LIST, handler?: Handler): void; (command: ServerResponse.REMOVE_RECYCLE_BIN_ITEMS, handler?: Handler): void; (command: ServerResponse.RESTORE_RECYCLE_BIN_ITEMS, handler?: Handler): void; (command: ServerResponse.GET_RECYCLE_BIN_RECORDS, handler?: Handler): void; (command: ServerResponse.STOPPED_BY_ADMIN, handler?: Handler): void; (command: ServerResponse.EXTRACT_FILES, handler?: Handler): void; (command: ServerResponse.HTTP_PREVIEW, handler?: Handler): void; } export { TaskStatus, FileStatus, UploadTaskOptions, TaskProgress, FileProgress, TaskSummary, TaskError, ScannedFile, QueuedFile, } from './server/create-task/types';