import type { Entity } from "./util/Entity"; import { Template } from "./util/Template"; import type { Root } from "./Root"; import type { IClasses } from "./Classes"; export interface IRule { tags: Array; template: Template; } /** * A base class for an amCharts theme. * * @see {@link https://www.amcharts.com/docs/v5/concepts/themes/} for more info * @important */ export declare class Theme { protected _root: Root; /** * Use this method to create an instance of this class. * * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info * @param root Root element * @return Instantiated object */ static new(this: T, root: Root): InstanceType; constructor(root: Root, isReal: boolean); protected setupDefaultRules(): void; protected _rules: { [type: string]: Array>; }; /** * Returns the theme's rules for a class. * * @see {@link https://www.amcharts.com/docs/v5/themes/} for more info * @param themeClass Class name * @return Rules, or `undefined` if there are none */ _lookupRules(themeClass: string): Array> | undefined; /** * Same as `rule()`, but takes any class name, without type checks. * * @see {@link https://www.amcharts.com/docs/v5/themes/} for more info * @param themeClass Class name * @param themeTags Theme tags * @return Template */ ruleRaw(themeClass: string, themeTags?: Array): Template; /** * Returns the rule for a class and theme tags, as a [[Template]]. Settings * set on it go to every element of that class (or a class extending it) * that has all of these tags. The same class and tags return the same rule. * * @see {@link https://www.amcharts.com/docs/v5/themes/} for more info * @param themeClass Class name, e.g. `"Label"` * @param themeTags Theme tags * @return Template */ rule(themeClass: K, themeTags?: Array): Template; } //# sourceMappingURL=Theme.d.ts.map