import type { PathSpec } from '../../../../../types.ts';
import type { FlagValue } from '../../../../spec/types.ts';
import type { CrossResult, DispatchFn } from '../types.ts';
import { Files } from '../../../../../workspace/files.ts';
/**
 * Run a zip whose archive and operands span mounts.
 *
 * Pure wiring: the shared generic plans on dispatch-relayed calls, so
 * each operand is walked on the mount that owns it and the archive lands
 * on its own. The scan still stops at a mount nested under an operand,
 * exactly as it does when the whole line is on one mount.
 */
export declare function runZip(scopes: PathSpec[], flagKwargs: Record<string, FlagValue>, dispatch: DispatchFn, vfs?: Files): Promise<CrossResult>;
//# sourceMappingURL=zip_cmd.d.ts.map