/**
 * Provides the logic to support the execution of a named script.
 */
export interface ScriptProvider {
    /**
     * Runs the post-script logic of this script in the specified directory.
     *
     * @param directoryPath - The path of the directory in which the script should be executed.
     * @throws If an error occurs while running the post-script logic.
     */
    afterScript(directoryPath: string): Promise<void>;
    /**
     * Returns the name of this script.
     *
     * @return The script name.
     */
    getName(): string;
    /**
     * Runs the primary logic of this script in the specified directory.
     *
     * @param directoryPath - The path of the directory in which the script should be executed.
     * @throws If an error occurs while running the primary script logic.
     */
    runScript(directoryPath: string): Promise<void>;
}
