/// import { Client, FileInfo } from 'basic-ftp'; import { Writable, Readable } from 'stream'; import { Strategy } from './strategy'; import { IFile, IFtpConfig, ITransferOptions, IFtpOptions, ITransferInfo } from '../interfaces'; export declare interface FtpStrategy { config: IFtpConfig; options: IFtpOptions; } export declare class FtpStrategy extends Strategy { protected client: Client; get connected(): boolean; protected get isFTPS(): boolean; protected get socket(): import("net").Socket | import("tls").TLSSocket; connect: () => Promise; disconnect: () => Promise; download: (dest: Writable, info: ITransferInfo, options?: ITransferOptions) => Promise; upload: (source: Readable, info: ITransferInfo, options?: ITransferOptions) => Promise; list: (path: any) => Promise; size: (path: any) => Promise; exists: (path: string) => Promise; move: (source: any, dest: any) => Promise; removeFile: (path: any) => Promise; removeEmptyFolder: (path: any) => Promise; removeFolder: (path: any) => Promise; createFolder: (path: any) => Promise; createEmptyFile: (path: any) => Promise; pwd: () => Promise; send: (command: any) => Promise; protected formatFile: (file: FileInfo) => IFile; protected handle: (fn: Function) => Promise; protected handleTransfer: (fn: Function, info: ITransferInfo, options: ITransferOptions) => Promise; }