import { type DirectoryTreeListOptions } from '../interfaces.js';
/**
 * Options for listing directory tree contents.
 * @typedef DirectoryTreeListOptions
 * @property {string[]} [exclude] - Patterns to exclude from the tree.
 * @property {string[]} [include] - Patterns to include in the tree.
 * @property {string} [mainPath] - Main path for relative calculations.
 * @property {string} srcPath - Source path of the directory to list.
 * @property {FileTree[]} [tree] - Existing tree to append to, if available.
 */
/**
 * The `DirectoryManager` class provides functionalities to manage and interact
 * with directories. It leverages the `DirectoryTreeBuilder` to construct a
 * directory tree based on the provided options.
 */
export declare class DirectoryManager {
    private readonly options;
    /**
     * Creates an instance of the `DirectoryManager` class.
     *
     * @param {DirectoryTreeListOptions} options - Configuration options for directory management.
     */
    constructor(options: DirectoryTreeListOptions);
    /**
     * Constructs a directory tree based on the provided options.
     *
     * @returns {Promise<object>} A promise that resolves to the constructed directory tree.
     *
     * @example
     * const manager = new DirectoryManager({ srcPath: './src', exclude: ['node_modules'] });
     * const tree = await manager.build();
     */
    build(): Promise<{
        paths: import("../interfaces.js").DirectoryFile[];
        tree: import("../interfaces.js").FileTree[];
        excluded: import("../interfaces.js").DirectoryFile[];
    }>;
}
//# sourceMappingURL=directory-manager.d.ts.map