///
///
import { Connection } from '../connection';
import { EventEmitter } from 'events';
import { PullTransfer } from './pulltransfer';
import { PushTransfer } from './pushtransfer';
import { Readable } from 'stream';
import SyncEntry from './entry';
export declare enum SyncMode {
DEFAULT_CHMOD = 420,
DATA_MAX_LENGTH = 65536
}
export declare class Sync extends EventEmitter {
private readonly connection;
private readonly parser;
constructor(connection: Connection);
static temp(path: string): string;
private error;
private sendCommandWithLength;
private getDrainAwaiter;
private writeData;
private pushStream;
private pushFile;
push(contents: string | Readable, path: string, mode?: SyncMode): PushTransfer;
private readData;
pull(path: string): PullTransfer;
readDir(path: string): Promise;
end(): void;
private sendCommandWithArg;
}