import { InstructionCompiler } from "../../../Compilation/PackageSystem/Instructions/InstructionCompiler";
import { ICategoryOptions } from "../../../Options/ICategoryOptions";
import { IUserOptionOptions } from "../../../Options/UserPanel/IUserOptionOptions";
import { UserCategory } from "../../../Options/UserPanel/UserCategory";
import { UserOption } from "../../../Options/UserPanel/UserOption";
import { IOptionInstructionOptions } from "./IOptionInstructionOptions";
import { OptionInstruction } from "./OptionInstruction";
/**
 * 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 `UserOptionInstruction` class.
     */
    constructor(options: IOptionInstructionOptions<ICategoryOptions<IUserOptionOptions>>);
    /**
     * @inheritdoc
     */
    readonly Type: string;
    /**
     * @inheritdoc
     */
    readonly RootCategory: string;
    /**
     * @inheritdoc
     */
    readonly Compiler: InstructionCompiler<UserOptionInstruction>;
}
