import { KindExecution } from './kind-execution.js';
/**
 * A builder for creating a kind command execution.
 */
export declare class KindExecutionBuilder {
    private static readonly NAME_MUST_NOT_BE_NULL;
    private static readonly VALUE_MUST_NOT_BE_NULL;
    /**
     * The path to the kind executable.
     */
    private kindExecutable;
    /**
     * The list of subcommands to be used when execute the kind command.
     */
    private readonly _subcommands;
    /**
     * The arguments to be passed to the kind command.
     */
    private readonly _arguments;
    /**
     * The list of options and a list of their one or more values.
     */
    private readonly _optionsWithMultipleValues;
    /**
     * The flags to be passed to the kind command.
     */
    private readonly _flags;
    /**
     * The positional arguments to be passed to the kind command.
     */
    private readonly _positionals;
    /**
     * The environment variables to be set when executing the kind command.
     */
    private readonly _environmentVariables;
    /**
     * The working directory to be used when executing the kind command.
     */
    private _workingDirectory;
    /**
     * Creates a new KindExecutionBuilder instance.
     */
    constructor();
    executable(kindExecutable: string): KindExecutionBuilder;
    /**
     * Adds the list of subcommands to the kind execution.
     * @param commands the list of subcommands to be added
     * @returns this builder
     */
    subcommands(...commands: string[]): KindExecutionBuilder;
    /**
     * Adds an argument to the kind execution.
     * @param name the name of the argument
     * @param value the value of the argument
     * @returns this builder
     */
    argument(name: string, value: string): KindExecutionBuilder;
    /**
     * Adds an option with multiple values to the kind execution.
     * @param name the name of the option
     * @param value the list of values for the option
     * @returns this builder
     */
    optionsWithMultipleValues(name: string, value: string[]): KindExecutionBuilder;
    /**
     * Adds a positional argument to the kind execution.
     * @param value the value of the positional argument
     * @returns this builder
     */
    positional(value: string): KindExecutionBuilder;
    /**
     * Adds an environment variable to the kind execution.
     * @param name the name of the environment variable
     * @param value the value of the environment variable
     * @returns this builder
     */
    environmentVariable(name: string, value: string): KindExecutionBuilder;
    /**
     * Sets the working directory for the kind execution.
     * @param workingDirectoryPath the path to the working directory
     * @returns this builder
     */
    workingDirectory(workingDirectoryPath: string): KindExecutionBuilder;
    /**
     * Adds a flag to the kind execution.
     * @param flag the flag to be added
     * @returns this builder
     */
    flag(flag: string): KindExecutionBuilder;
    /**
     * Builds the KindExecution instance.
     * @returns the KindExecution instance
     */
    build(): KindExecution;
    /**
     * Builds the command array for the kind execution.
     * @returns the command array
     */
    private buildCommand;
}
