import { Component } from "../../../PackageSystem/Component.js";
import { FileDescriptor } from "../../../PackageSystem/FileDescriptor.js";
import { ThemeInstruction } from "../../../PackageSystem/Instructions/Customization/Presentation/ThemeInstruction.js";
import { Person } from "../../../PackageSystem/Person.js";
import { VersionNumber } from "../../../PackageSystem/VersionNumber.js";
import { ImageDirectoryDescriptor } from "./ImageDirectoryDescriptor.js";
import { IThemeOptions } from "./IThemeOptions.js";
/**
 * Represents a theme.
 */
export declare class Theme extends Component {
    /**
     * The name of the theme.
     */
    private name;
    /**
     * The thumbnail of the theme.
     */
    private thumbnail;
    /**
     * The high resolution version of the thumbnail.
     */
    private highResThumbnail;
    /**
     * The instruction which contains this theme.
     */
    private instruction;
    /**
     * The path to the default cover-photo for user-profiles.
     */
    private coverPhoto;
    /**
     * The custom `scss`-code of the theme.
     */
    private customSCSS;
    /**
     * The variable-overrides of special `scss`-variables.
     */
    private scssOverride;
    /**
     * The variables of the theme.
     */
    private variables;
    /**
     * The image-directory provided by the theme.
     */
    private images;
    /**
     * Initializes a new instance of the {@link Theme `Theme`} class.
     *
     * @param instruction
     * The instruction of the theme.
     *
     * @param options
     * The options of the theme.
     */
    constructor(instruction: ThemeInstruction, options: IThemeOptions);
    /**
     * Gets or sets the name of the theme.
     */
    get Name(): string;
    /**
     * @inheritdoc
     */
    set Name(value: string);
    /**
     * @inheritdoc
     */
    get Version(): VersionNumber;
    /**
     * @inheritdoc
     */
    set Version(value: VersionNumber);
    /**
     * @inheritdoc
     */
    get Author(): Person;
    /**
     * Gets or sets the thumbnail of the theme.
     */
    get Thumbnail(): FileDescriptor;
    /**
     * @inheritdoc
     */
    set Thumbnail(value: FileDescriptor);
    /**
     * Gets or sets the high resolution version of the thumbnail.
     */
    get HighResThumbnail(): FileDescriptor;
    /**
     * @inheritdoc
     */
    set HighResThumbnail(value: FileDescriptor);
    /**
     * Gets the instruction which contains this theme.
     */
    get Instruction(): ThemeInstruction;
    /**
     * Gets or sets the path to the default cover-photo for user-profiles.
     */
    get CoverPhoto(): FileDescriptor;
    /**
     * @inheritdoc
     */
    set CoverPhoto(value: FileDescriptor);
    /**
     * Gets or sets the `scss`-code of the theme.
     */
    get CustomScss(): string;
    /**
     * @inheritdoc
     */
    set CustomScss(value: string);
    /**
     * Gets or sets the variable-overrides of special `scss`-variables.
     */
    get ScssOverride(): string;
    /**
     * @inheritdoc
     */
    set ScssOverride(value: string);
    /**
     * Gets the variables of the theme.
     */
    get Variables(): Map<string, string>;
    /**
     * Gets the image-directory of the theme.
     */
    get Images(): ImageDirectoryDescriptor;
}
