import { ICategory } from "../../../Options/Generic/ICategory";
import { Option } from "../../../Options/Option";
import { IOptionInstruction } from "../../../PackageSystem/Instructions/Options/IOptionInstruction";
import { Compiler } from "../../Compiler";
import { LocalizationProviderCompiler } from "./LocalizationProviderCompiler";
/**
 * Provides the functionality to compile instructions which provide options for the control-panel.
 */
export declare abstract class OptionInstructionCompiler<T extends IOptionInstruction<TCategory, TOption>, TCategory extends ICategory<TOption>, TOption extends Option> extends LocalizationProviderCompiler<T> {
    /**
     * Initializes a new instance of the `OptionInstructionCompiler` class.
     *
     * @param item
     * The item to compile.
     */
    constructor(item: T);
    /**
     * Gets a component for compiling the option-file.
     */
    protected abstract readonly OptionFileCompiler: Compiler<T>;
    /**
     * @inheritdoc
     */
    protected Compile(): Promise<void>;
}
