import type { CrossResult, RunSingle } from './types.ts';
import type { FlagValue } from '../../../spec/types.ts';
import { type ByteSource } from '../../../../io/types.ts';
import type { DispatchFn } from '../../../../runtime/types.ts';
import type { FollowOperands } from '../../../../view/types.ts';
import { PathSpec } from '../../../../types.ts';
import type { Files } from '../../../../workspace/files.ts';
export declare const RENDERING: ReadonlySet<string>;
/**
 * Render du over operands spanning mounts from each mount's own du.
 *
 * Every start point is measured by the du its mount registered, a few at a
 * time, and the measurements (`IOResult.records`) render as one tree: a
 * directory's row counts the mounts inside it, and `-c` totals the line. No
 * mount's output text is read back. A mount whose du fails adds its
 * diagnostic and status, and the mounts below it count only where the walk
 * could still reach them (`reached`); one that succeeds without a measurement
 * (a du not built on `duGeneric`) leaves the line to the one dispatcher walk.
 * With `nested`, `runSingle` answers only its own mount's part, so the mounts
 * below each operand are measured here unless `-x` keeps the walk on one
 * filesystem; otherwise each operand's run composes its own.
 */
export declare function runDu(paths: readonly PathSpec[], texts: readonly string[], bag: Record<string, FlagValue>, dispatch: DispatchFn, runSingle: RunSingle, cwd: string, vfs?: Files, stdin?: ByteSource | null, signal?: AbortSignal, nested?: boolean, follow?: FollowOperands): Promise<CrossResult>;
//# sourceMappingURL=du.d.ts.map