import { InstructionCompiler } from "../../../Compilation/PackageSystem/Instructions/InstructionCompiler";
import { GroupCategory } from "../../../Options/Groups/GroupCategory";
import { GroupOption } from "../../../Options/Groups/GroupOption";
import { IGroupOptionOptions } from "../../../Options/Groups/IGroupOptionOptions";
import { ICategoryOptions } from "../../../Options/ICategoryOptions";
import { IOptionInstructionOptions } from "./IOptionInstructionOptions";
import { OptionInstruction } from "./OptionInstruction";
/**
 * 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 `GroupOptionInstruction` class.
     */
    constructor(options: IOptionInstructionOptions<ICategoryOptions<IGroupOptionOptions>>);
    /**
     * @inheritdoc
     */
    readonly Type: string;
    /**
     * @inheritdoc
     */
    readonly RootCategory: string;
    /**
     * @inheritdoc
     */
    readonly OptionCategory: string;
    /**
     * @inheritdoc
     */
    readonly Compiler: InstructionCompiler<GroupOptionInstruction>;
}
