import React from 'react'; import defaultTheme from './default'; export declare const ThemeContext: React.Context<{ color_title_base: string; color_subtitle_base: string; color_tips_base: string; color_primary: string; color_up: string; color_down: string; color_info: string; color_confirm: string; bg_color_base: string; bg_color_base_inverse: string; bg_color_primary: string; bg_color_mask: string; bg_color_data_box: string; common_border_width: number; common_border_color: string; single_line_height: number; multiple_line_height: number; input_border_color: string; input_error_border_color: string; input_error_text_color: string; table_header_bg_color: string; modal_button_bg: string; modal_button_confirm_color: string; modal_button_cancel_color: string; modal_button_border_color: string; }>; export declare type Theme = typeof defaultTheme & { [key: string]: any; }; export declare type PartialTheme = Partial; export interface ThemeProviderProps { value?: PartialTheme; children?: React.ReactNode; } export declare const ThemeProvider: (props: ThemeProviderProps) => JSX.Element; export interface UseThemeContextProps { theme?: PartialTheme; } /** * 覆盖默认主题,可用来实现动态切换主题 */ export declare const useTheme: (props?: UseThemeContextProps) => { color_title_base: string; color_subtitle_base: string; color_tips_base: string; color_primary: string; color_up: string; color_down: string; color_info: string; color_confirm: string; bg_color_base: string; bg_color_base_inverse: string; bg_color_primary: string; bg_color_mask: string; bg_color_data_box: string; common_border_width: number; common_border_color: string; single_line_height: number; multiple_line_height: number; input_border_color: string; input_error_border_color: string; input_error_text_color: string; table_header_bg_color: string; modal_button_bg: string; modal_button_confirm_color: string; modal_button_cancel_color: string; modal_button_border_color: string; } | { color_title_base: string; color_subtitle_base: string; color_tips_base: string; color_primary: string; color_up: string; color_down: string; color_info: string; color_confirm: string; bg_color_base: string; bg_color_base_inverse: string; bg_color_primary: string; bg_color_mask: string; bg_color_data_box: string; common_border_width: number; common_border_color: string; single_line_height: number; multiple_line_height: number; input_border_color: string; input_error_border_color: string; input_error_text_color: string; table_header_bg_color: string; modal_button_bg: string; modal_button_confirm_color: string; modal_button_cancel_color: string; modal_button_border_color: string; }; export interface WithThemeProps { themeStyles: (theme: Theme) => T; styles?: S; children: (styles: T & { [key: string]: any; }, theme: Theme) => React.ReactNode; } /** * 组件属性可以继承此Type,便于管理组件属性的 styles,方便编辑器约束类型 */ export declare type WithThemeStyles = { styles?: Partial; }; /** * 用于组件内部使用 */ export declare class WithTheme extends React.Component> { static defaultProps: { themeStyles: () => void; }; getStyles: (theme: Theme) => T; render(): JSX.Element; }