| /// <reference types="node" /> |
| import { Writable, Readable } from "stream"; |
| import { FTPContext, FTPResponse } from "./FtpContext"; |
| import { ProgressTracker, ProgressType } from "./ProgressTracker"; |
| export type UploadCommand = "STOR" | "APPE"; |
| /** |
| * Prepare a data socket using passive mode over IPv6. |
| */ |
| export declare function enterPassiveModeIPv6(ftp: FTPContext): Promise<FTPResponse>; |
| /** |
| * Parse an EPSV response. Returns only the port as in EPSV the host of the control connection is used. |
| */ |
| export declare function parseEpsvResponse(message: string): number; |
| /** |
| * Prepare a data socket using passive mode over IPv4. |
| */ |
| export declare function enterPassiveModeIPv4(ftp: FTPContext): Promise<FTPResponse>; |
| /** |
| * Parse a PASV response. |
| */ |
| export declare function parsePasvResponse(message: string): { |
| host: string; |
| port: number; |
| }; |
| export declare function connectForPassiveTransfer(host: string, port: number, ftp: FTPContext): Promise<void>; |
| export interface TransferConfig { |
| command: string; |
| remotePath: string; |
| type: ProgressType; |
| ftp: FTPContext; |
| tracker: ProgressTracker; |
| } |
| export declare function uploadFrom(source: Readable, config: TransferConfig): Promise<FTPResponse>; |
| export declare function downloadTo(destination: Writable, config: TransferConfig): Promise<FTPResponse>; |