import type { DatabricksVolumeAccessor } from '../../accessor/databricks_volume.ts';
import { type PathSpec } from '../../types.ts';
import type { DirectoryEntry } from './types.ts';
/** Whether a directory lists any entry; a missing one holds none. Mirrors Python's `holds_child`. */
export declare function holdsChild(accessor: DatabricksVolumeAccessor, remoteDir: string): Promise<boolean>;
/**
 * Remove a directory tree, or only what a move copied out of it (`copied`,
 * the entries by backend path as their listing showed them; only an entry
 * still listed the same is deleted, and null deletes every entry listed).
 * The walk lists each directory once, so a file written under it since, or
 * an entry the move never copied or that changed since its copy, stays and
 * keeps its directories: the tree is ENOTEMPTY. Returns the backend paths removed. Mirrors Python's
 * `remove_tree`.
 */
export declare function removeTree(accessor: DatabricksVolumeAccessor, path: PathSpec, copied?: Map<string, DirectoryEntry> | null): Promise<string[]>;
export declare function rmRecursive(accessor: DatabricksVolumeAccessor, path: PathSpec): Promise<string[]>;
//# sourceMappingURL=rm.d.ts.map