import { Component } from "../../../PackageSystem/Component";
import { FileDescriptor } from "../../../PackageSystem/FileDescriptor";
import { ThemeInstruction } from "../../../PackageSystem/Instructions/Customization/Presentation/ThemeInstruction";
import { Person } from "../../../PackageSystem/Person";
import { ImageDirectoryDescriptor } from "./ImageDirectoryDescriptor";
import { IThemeOptions } from "./IThemeOptions";
/**
 * Represents a theme.
 */
export declare class Theme extends Component {
    /**
     * 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 `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 `Theme` class.
     *
     * @param instruction
     * The instruction of the theme.
     */
    constructor(instruction: ThemeInstruction, options: IThemeOptions);
    /**
     * @inheritdoc
     */
    readonly Author: Person;
    /**
     * Gets or sets the thumbnail of the theme.
     */
    Thumbnail: FileDescriptor;
    /**
     * Gets or sets the high resolution version of the thumbnail.
     */
    HighResThumbnail: FileDescriptor;
    /**
     * Gets the instruction which contains this theme.
     */
    readonly Instruction: ThemeInstruction;
    /**
     * Gets or sets the path to the default cover-photo for user-profiles.
     */
    CoverPhoto: FileDescriptor;
    /**
     * Gets or sets the `scss`-code of the theme.
     */
    CustomScss: string;
    /**
     * Gets or sets the variable-overrides of special `scss`-variables.
     */
    ScssOverride: string;
    /**
     * Gets the variables of the theme.
     */
    readonly Variables: {
        [key: string]: string;
    };
    /**
     * Gets the image-directory of the theme.
     */
    readonly Images: ImageDirectoryDescriptor;
    /**
     * Parses the variables and adds them either to the override scss-code or the variables-property.
     *
     * @param variables
     * The variables to parse.
     */
    protected ParseVariables(variables: {
        [key: string]: string;
    }): void;
}
