import { InstructionCompiler } from "../../../Compilation/PackageSystem/Instructions/InstructionCompiler.js";
import { GroupCategory } from "../../../Options/Groups/GroupCategory.js";
import { GroupOption } from "../../../Options/Groups/GroupOption.js";
import { IGroupOptionOptions } from "../../../Options/Groups/IGroupOptionOptions.js";
import { ICategoryOptions } from "../../../Options/ICategoryOptions.js";
import { IOptionInstructionOptions } from "./IOptionInstructionOptions.js";
import { OptionInstruction } from "./OptionInstruction.js";
/**
 * Represents an instruction which provides options for groups.
 */
export declare class GroupOptionInstruction extends OptionInstruction<GroupCategory, ICategoryOptions<IGroupOptionOptions>, GroupOption, IGroupOptionOptions> {
    /**
     * Initializes a new instance of the {@link GroupOptionInstruction `GroupOptionInstruction`} class.
     *
     * @param options
     * The options of the group-option instruction.
     */
    constructor(options: IOptionInstructionOptions<ICategoryOptions<IGroupOptionOptions>>);
    /**
     * @inheritdoc
     */
    get Type(): string;
    /**
     * @inheritdoc
     */
    get RootCategory(): string;
    /**
     * @inheritdoc
     */
    get OptionCategory(): string;
    /**
     * @inheritdoc
     */
    get Compiler(): InstructionCompiler<GroupOptionInstruction>;
}
