import { SSHConnectionFlags } from "../ssh/flags.js"; import { SSHConnectionData } from "../ssh/types.js"; export declare const defaultRsyncFilterFile = ".mw-rsync-filter"; export interface AppInstallationSyncFlags { exclude: string[]; "dry-run": boolean; delete: boolean; "remote-sub-directory"?: string; } export declare const appInstallationSyncFlags: (direction: "upload" | "download") => { exclude: import("@oclif/core/interfaces").OptionFlag; "dry-run": import("@oclif/core/interfaces").BooleanFlag; delete: import("@oclif/core/interfaces").BooleanFlag; "remote-sub-directory": import("@oclif/core/interfaces").OptionFlag; }; export declare const filterFileDocumentation: string; export declare function filterFileToRsyncFlagsIfPresent(targetDir: string, filterFile?: string): Promise; /** * Build the rsync connection string for the given SSH connection data and flag * inputs. * * @param host Remote SSH hostname * @param directory Remove base directory of the app installation * @param user Remote SSH user * @param subDirectory Optional sub-directory within the app installation to * sync */ export declare function buildRsyncConnectionString({ host, directory, user }: SSHConnectionData, { "remote-sub-directory": subDirectory }: AppInstallationSyncFlags): string; export declare function appInstallationSyncFlagsToRsyncFlags(f: AppInstallationSyncFlags & SSHConnectionFlags, configDir: string): string[];