import { InstructionCompiler } from "../../../Compilation/PackageSystem/Instructions/InstructionCompiler.js";
import { Instruction } from "../Instruction.js";
import { IFileSystemInstructionOptions } from "./IFileSystemInstructionOptions.js";
/**
 * Represents an instruction which is bound to a file-system entry.
 */
export declare abstract class FileSystemInstruction extends Instruction {
    /**
     * The path to the file-system entry the instruction is bound to.
     */
    private source;
    /**
     * Initializes a new instance of the {@link FileSystemInstruction `FileSystemInstruction`} class.
     *
     * @param options
     * The options of the file-system instruction.
     */
    constructor(options: IFileSystemInstructionOptions);
    /**
     * Gets or sets the path to the file-system entry the instruction is bound to.
     */
    get Source(): string;
    /**
     * @inheritdoc
     */
    set Source(value: string);
    /**
     * @inheritdoc
     */
    get FileName(): string;
    /**
     * @inheritdoc
     */
    set FileName(value: string);
    /**
     * @inheritdoc
     */
    get Compiler(): InstructionCompiler<FileSystemInstruction>;
    /**
     * Creates a default file-name based on the source of the instruction.
     *
     * @param source
     * The source of the instruction.
     *
     * @returns
     * The default filename.
     */
    protected MakeDefaultFileName(source: string): string;
}
