import { InstructionCompiler } from "../../Compilation/PackageSystem/Instructions/InstructionCompiler.js";
import { ApplicationFileSystemInstruction } from "./FileSystem/ApplicationFileSystemInstruction.js";
import { FileSystemInstruction } from "./FileSystem/FileSystemInstruction.js";
import { ISelfContainedPHPInstructionOptions } from "./ISelfContainedPHPInstructionOptions.js";
import { PHPInstruction } from "./PHPInstruction.js";
/**
 * Represents an instruction which uploads and executes `.php`-code.
 */
export declare class SelfContainedPHPInstruction extends ApplicationFileSystemInstruction {
    /**
     * The path to save the `.php`-file to.
     */
    private destination;
    /**
     * Initializes a new instance of the {@link SelfContainedPHPInstruction `SelfContainedPHPInstruction`} class.
     *
     * @param options
     * The options of the self-contained php instruction.
     */
    constructor(options: ISelfContainedPHPInstructionOptions);
    /**
     * @inheritdoc
     */
    get Compiler(): InstructionCompiler<SelfContainedPHPInstruction>;
    /**
     * Gets or sets the path to load the `.php`-file from.
     */
    get Source(): string;
    /**
     * @inheritdoc
     */
    set Source(value: string);
    /**
     * @inheritdoc
     */
    get FileName(): string;
    /**
     * @inheritdoc
     */
    set FileName(value: string);
    /**
     * Gets or sets the path to save the `.php`-file to.
     */
    get Destination(): string;
    /**
     * @inheritdoc
     */
    set Destination(value: string);
    /**
     * Gets the file-instruction contained by this instruction.
     */
    get FileInstruction(): FileSystemInstruction;
    /**
     * Gets the php-instruction contained by this instruction.
     */
    get PHPInstruction(): PHPInstruction;
    /**
     * @inheritdoc
     */
    protected get AssetDirectoryName(): string;
    /**
     * @inheritdoc
     *
     * @param source
     * The source of the instruction.
     *
     * @returns
     * The default name of the asset file.
     */
    protected GetAssetFileName(source: string): string;
}
