import { FileSystemInterface } from './FileSystemInterface.js'; /** * Factory for creating file system implementations * * This class provides factory methods for creating local or remote file system implementations. */ export declare class FileSystemFactory { /** * Creates a local file system implementation * * @param baseDir - Base directory for file operations * @returns A LocalFileSystem instance */ static createLocalFileSystem(baseDir: string): FileSystemInterface; /** * Creates a remote file system implementation * * @param baseDir - Base directory on the remote server * @param sshKeyPath - Path to the SSH private key file * @param remoteUser - Username for the remote server * @param remoteHost - Hostname or IP address of the remote server * @returns A RemoteFileSystem instance */ static createRemoteFileSystem(baseDir: string, sshKeyPath: string, remoteUser: string, remoteHost: string): FileSystemInterface; /** * Tests connection to a remote file system * * @param sshKeyPath - Path to the SSH private key file * @param remoteUser - Username for the remote server * @param remoteHost - Hostname or IP address of the remote server * @param remotePath - Base path on the remote server (defaults to /tmp for testing) * @returns True if connection is successful, false otherwise */ static testRemoteConnection(sshKeyPath: string, remoteUser: string, remoteHost: string, remotePath?: string): Promise; } //# sourceMappingURL=FileSystemFactory.d.ts.map