import { Theme } from "../core/Theme"; import type { Root } from "../core/Root"; import { MultiDisposer } from "../core/util/Disposer"; import type { Template } from "../core/util/Template"; /** * An interface describing resonsive rule. * * @see {@link https://www.amcharts.com/docs/v5/concepts/responsive/} for more info * @important */ export interface IResponsiveRule { /** * A class name of the elements to apply rule to. */ name?: string; /** * A class group of the elements to apply rule to. */ tags?: string | string[]; /** * Settings to apply when activating the responsive rule. */ settings?: any; /** * A callback function which should check and return `true` if rule is * applicable for current situation. */ relevant: (width: number, height: number) => boolean; /** * A custom callback function which is called when applying the rule. */ applying?: () => void; /** * A custom callback function which is called when removing the rule. */ removing?: () => void; /** * Indicates if rule is currently applied. * @readonly */ applied?: boolean; /** * Reference to [[Template]] object associated with the rule. * @readonly */ template?: Template; /** * @ignore */ _dp?: MultiDisposer; } /** * A configurable theme that dynamically adapts chart settings for best fit * in available space. * * @see {@link https://www.amcharts.com/docs/v5/concepts/responsive/} for more info */ export declare class ResponsiveTheme extends Theme { static XXS: number; static XS: number; static S: number; static M: number; static L: number; static XL: number; static XXL: number; static widthXXS(width: number, _height: number): boolean; static widthXS(width: number, _height: number): boolean; static widthS(width: number, _height: number): boolean; static widthM(width: number, _height: number): boolean; static widthL(width: number, _height: number): boolean; static widthXL(width: number, _height: number): boolean; static widthXXL(width: number, _height: number): boolean; static heightXXS(_width: number, height: number): boolean; static heightXS(_width: number, height: number): boolean; static heightS(_width: number, height: number): boolean; static heightM(_width: number, height: number): boolean; static heightL(_width: number, height: number): boolean; static heightXL(_width: number, height: number): boolean; static heightXXL(_width: number, height: number): boolean; static isXXS(width: number, height: number): boolean; static isXS(width: number, height: number): boolean; static isS(width: number, height: number): boolean; static isM(width: number, height: number): boolean; static isL(width: number, height: number): boolean; static isXL(width: number, height: number): boolean; static isXXL(width: number, height: number): boolean; static maybeXXS(width: number, height: number): boolean; static maybeXS(width: number, height: number): boolean; static maybeS(width: number, height: number): boolean; static maybeM(width: number, height: number): boolean; static maybeL(width: number, height: number): boolean; static maybeXL(width: number, height: number): boolean; static maybeXXL(width: number, height: number): boolean; private _dp?; constructor(root: Root, isReal: boolean); /** * Currently added rules. */ responsiveRules: IResponsiveRule[]; /** * Instantiates the theme without adding default respomsive rules. */ static newEmpty(this: T, root: Root): InstanceType; /** * Adds a responsive rule as well as retuns it. * * @see {@link https://www.amcharts.com/docs/v5/concepts/responsive/} for more info * @param rule Responsive rule * @return Responsive rule */ addRule(rule: IResponsiveRule): IResponsiveRule; /** * Removes the responsive rule. * * @param rule Responsive rule */ removeRule(rule: IResponsiveRule): void; dispose(): void; protected _isUsed(): boolean; protected _maybeApplyRules(): void; protected _maybeApplyRule(rule: IResponsiveRule): void; protected _maybeUnapplyRule(rule: IResponsiveRule): void; /** * Adds default rules for various chart types and most standard scenarios. */ protected setupDefaultRules(): void; } //# sourceMappingURL=ResponsiveTheme.d.ts.map