import { ExecaInterface } from './execa.interface';
import { SambaConfig } from './types';
export interface ListMetaData {
    name: string;
    type: 'D' | 'A';
    size: number;
    modifyTime: Date;
}
export declare class SambaClient {
    private config;
    private execa;
    constructor(config: SambaConfig, execa?: ExecaInterface);
    getFile(remotePath: string | Array<string>, localPath: string, workingDir?: string): Promise<string>;
    sendFile(cmdPath: string, destination: string): Promise<string>;
    deleteFile(fileName: string): Promise<string>;
    listFiles(fileNamePrefix: string, fileNameSuffix: string): Promise<Array<string>>;
    mkdir(remotePath: string, cwd?: string): Promise<string>;
    dir(remotePath: string, cwd?: string): Promise<string>;
    fileExists(remotePath: string, cwd?: string): Promise<boolean>;
    list(remotePath: string): Promise<Array<ListMetaData>>;
    private getSmbClientArgs;
    private execute;
}
