import { Compiler } from "./Compiler";
/**
 * Provides the functionality to compile components to `.xml`-files.
 */
export declare abstract class XMLFileCompiler<T> extends Compiler<T> {
    /**
     * Initializes a new instance of the `XMLFileCompiler<T>` class.
     *
     * @param item
     * The item to compile.
     */
    constructor(item: T);
    /**
     * Gets the tag-name of the document-element of the `xml`-document
     */
    protected abstract readonly TagName: string;
    /**
     * @inheritdoc
     */
    protected Compile(): Promise<void>;
    /**
     * Gets the compiled `xml`-document of the component.
     */
    protected readonly Document: Document;
    /**
     * Gets the content of the `xml`-element as a string.
     */
    protected readonly Content: string;
    /**
     * Creates the document to compile.
     */
    protected CreateDocument(): Document;
}
