import { IInstruction } from "../../../PackageSystem/Instructions/IInstruction";
import { Compiler } from "../../Compiler";
import { InstructionCompiler } from "./InstructionCompiler";
/**
 * Provides the functionality to compile instructions which only depend on one file-compiler.
 */
export declare abstract class InstructionFileCompiler<T extends IInstruction> extends InstructionCompiler<T> {
    /**
     * Initializes a new instance of the `InstructionFileCompiler<T>` class.
     *
     * @param item
     * The item to compile.
     */
    constructor(item: T);
    /**
     * Gets a component for compiling the file.
     */
    protected abstract readonly FileCompiler: Compiler<T>;
    /**
     * @inheritdoc
     */
    protected Compile(): Promise<void>;
}
