import React from 'react'; import { Addon } from '../aop'; import { Dictionary } from '../base'; import { ConfigStore } from '../config'; import { SimpleStateMachine } from '../state'; import { ReactAddon } from './base'; import { FontStyle } from './style'; export declare class ThemeDef extends ReactAddon { version?: number; themeName?: string; theme?: Theme; getThemeObject?: (() => Theme) | undefined; register?: (() => void) | undefined; onRender?: (() => JSX.Element) | undefined; } /** * EChart皮肤 */ export declare let GlobalThemes: Dictionary; export declare function registerTheme(theme: ThemeDef): void; /** * 样式上下文内容 */ export interface ThemeContextData { /** * 皮肤 */ theme?: any; } export declare const ThemeContext: React.Context; export declare class EChartsTheme extends Addon { borderColor?: string; backgroundColor?: string; color?: string[]; } export declare class Theme extends EChartsTheme { baseTheme?: string; baiduMap?: any; extendStyle?: any; [key: string]: any; } export declare const HorzAlign: { left: string; center: string; right: string; }; export declare const VertAlign: { top: string; middle: string; bottom: string; }; export declare const BorderType: { solid: string; dashed: string; dotted: string; }; export declare class ItemStyle extends Addon { color?: string; borderColor?: string; borderWidth?: number; borderType?: keyof typeof BorderType; borderRadius?: number[] | number; shadowColor?: string; shadowBlur?: number; shadowOffsetX?: number; shadowOffsetY?: number; opacity?: number; } export declare class TextStyle extends ItemStyle { backgroundColor?: string; fontStyle?: keyof typeof FontStyle; fontWeight?: string; fontFamily?: string; align?: keyof typeof HorzAlign; verticalAlign?: keyof typeof VertAlign; lineHeight?: number; padding?: number[] | number; textBorderColor?: string; textBorderWidth?: number; textShadowColor?: string; textShadowBlur?: number; textShadowOffsetX?: number; textShadowOffsetY?: number; } export declare function getTheme(themeName?: string, extendTheme?: any): any; export declare function mergeTheme(originTheme?: any, extendTheme?: any): any; export declare const themeLoadStateMachine: SimpleStateMachine; export declare function loadThemes(configService: ConfigStore, skinDir?: string): void; export declare function createOptionListFromThemes(): { title: string; value: string; }[];