import { Action } from "../../core/pipeline/Action";
import { ActionOptionsType } from "../../types/ActionOptionsType";
/**
 * DirectoryCleanAction is a step action responsible for cleaning a directory
 * by deleting all its contents while optionally retaining files and
 * directories that match specified glob patterns.
 */
export declare class DirectoryCleanAction extends Action {
    /**
     * Executes the directory cleaning action.
     *
     * @param options - The options specific to directory cleaning, including
     * the directory path and glob patterns to retain.
     * @returns A Promise that resolves when the directory has been
     * successfully cleaned, or silently resolves if the directory does not
     * exist.
     */
    execute(options: ActionOptionsType): Promise<void>;
    /**
     * Deletes all contents of a specified directory, excluding files and
     * directories that match specified glob patterns.
     *
     * @param dirPath - The path to the directory to be cleaned.
     * @param keepPatterns - An optional array of glob patterns for files
     * and directories to retain.
     * @returns A Promise that resolves when the directory has been
     * successfully cleaned.
     * @throws {Error} Throws an error if deleting any file or directory fails.
     */
    private cleanDirectoryContents;
    /**
     * Provides a description of the action.
     * @returns A string description of the action.
     */
    describe(): string;
}
