import type { AggregateFn } from '../../../config.ts';
import type { PathSpec } from '../../../../types.ts';
import { type OperandMount, Strategy } from './types.ts';
export declare function strategyFor(cmdName: string): Strategy;
/**
 * Whether one invocation spans mounts and runs as a cross-mount one.
 * `operands` are the path operands in line order, each with the mount the
 * workspace resolved for it; `flagScopes` the path-valued flags (`-t`'s
 * directory), which name where a copy lands.
 */
export declare function isCrossMount(cmdName: string, operands: readonly OperandMount[], flagScopes?: readonly PathSpec[]): boolean;
/** Resolve an existing shared reducer; known families own flag-aware reduction. */
export declare function aggregateFor(cmdName: string, operands: readonly OperandMount[]): AggregateFn | null;
//# sourceMappingURL=detect.d.ts.map