import type { LangType } from '../../library/locale/types';
import type { ConfigProviderProps } from 'antd';
import type { InitializationContext } from '../initialization';
import type { StateManager } from '../../state';
/**
 * 主题配置
 */
export interface ThemeConfig {
    /**
     * 主题模式：'light' | 'dark' | 'auto'
     * - 'light': 浅色主题
     * - 'dark': 深色主题
     * - 'auto': 跟随系统设置
     */
    mode?: 'light' | 'dark' | 'auto';
    /**
     * 主题色（主色调）
     */
    primaryColor?: string;
    /**
     * 自定义主题配置
     */
    custom?: Record<string, unknown>;
}
/**
 * 应用配置接口
 */
export interface AppConfig {
    /**
     * 主题配置
     */
    theme: ThemeConfig;
    /**
     * 国际化语言
     */
    locale: LangType;
    /**
     * Ant Design 配置
     */
    antdConfig?: ConfigProviderProps;
    /**
     * 初始化上下文
     */
    initializationContext?: InitializationContext;
}
/**
 * 主题上下文值
 */
export interface ThemeContextValue {
    /**
     * 主题配置
     */
    theme: ThemeConfig;
    /**
     * 更新主题
     */
    setTheme: (theme: ThemeConfig | ((prev: ThemeConfig) => ThemeConfig)) => void;
}
/**
 * 国际化上下文值
 */
export interface LocaleContextValue {
    /**
     * 当前语言
     */
    locale: LangType;
    /**
     * 更新语言
     */
    setLocale: (locale: LangType) => void;
    /**
     * 是否正在切换语言
     */
    isChanging?: boolean;
}
/**
 * 配置上下文值
 */
export interface ConfigContextValue {
    /**
     * Ant Design 配置
     */
    antdConfig?: ConfigProviderProps;
    /**
     * 初始化上下文
     */
    initializationContext?: InitializationContext;
    /**
     * 更新 Ant Design 配置
     */
    setAntdConfig: (config: ConfigProviderProps | undefined) => void;
    /**
     * 更新初始化上下文
     */
    setInitializationContext: (context: InitializationContext | undefined) => void;
}
/**
 * 状态管理器上下文值
 */
export interface StateManagerContextValue {
    /**
     * 状态管理器实例
     */
    stateManager: StateManager | null;
}
/**
 * 应用全局上下文值（聚合所有上下文）
 */
export interface AppContextValue {
    /**
     * 主题配置
     */
    theme: ThemeConfig;
    /**
     * 国际化语言
     */
    locale: LangType;
    /**
     * Ant Design 配置
     */
    antdConfig?: ConfigProviderProps;
    /**
     * 初始化上下文
     */
    initializationContext?: InitializationContext;
    /**
     * 状态管理器实例
     */
    stateManager: StateManager | null;
    /**
     * 更新主题
     */
    setTheme: (theme: ThemeConfig | ((prev: ThemeConfig) => ThemeConfig)) => void;
    /**
     * 更新国际化语言
     */
    setLocale: (locale: LangType) => void;
    /**
     * 更新 Ant Design 配置
     */
    setAntdConfig: (config: ConfigProviderProps | undefined) => void;
    /**
     * 更新初始化上下文
     */
    setInitializationContext: (context: InitializationContext | undefined) => void;
}
//# sourceMappingURL=AppContext.types.d.ts.map