import { InstructionCompiler } from "../../../Compilation/PackageSystem/Instructions/InstructionCompiler.js";
import { ICategoryOptions } from "../../../Options/ICategoryOptions.js";
import { IUserOptionOptions } from "../../../Options/UserPanel/IUserOptionOptions.js";
import { UserCategory } from "../../../Options/UserPanel/UserCategory.js";
import { UserOption } from "../../../Options/UserPanel/UserOption.js";
import { IOptionInstructionOptions } from "./IOptionInstructionOptions.js";
import { OptionInstruction } from "./OptionInstruction.js";
/**
 * Represents an instruction which provides options for users.
 */
export declare class UserOptionInstruction extends OptionInstruction<UserCategory, ICategoryOptions<IUserOptionOptions>, UserOption, IUserOptionOptions> {
    /**
     * Initializes a new instance of the {@link UserOptionInstruction `UserOptionInstruction`} class.
     *
     * @param options
     * The options of the user-option instruction.
     */
    constructor(options: IOptionInstructionOptions<ICategoryOptions<IUserOptionOptions>>);
    /**
     * @inheritdoc
     */
    get Type(): string;
    /**
     * @inheritdoc
     */
    get RootCategory(): string;
    /**
     * @inheritdoc
     */
    get Compiler(): InstructionCompiler<UserOptionInstruction>;
}
