import React from 'react';
import type { PropsWithChildren } from 'react';
import type { AppProps, ConfigProviderProps } from 'antd';
import type { LangType } from '../../library/locale/types';
import type { InitializationContext } from '../initialization';
import type { ThemeContextValue, LocaleContextValue, ConfigContextValue, AppContextValue, ThemeConfig } from './AppContext.types';
import type { StateManager } from '../../state';
/**
 * 应用上下文 Provider 属性
 */
export interface AppContextProviderProps extends PropsWithChildren {
    /**
     * 初始主题配置
     */
    initialTheme?: ThemeConfig;
    /**
     * 初始国际化语言
     */
    initialLocale?: LangType;
    /**
     * 初始 Ant Design 配置
     */
    initialAntdConfig?: ConfigProviderProps;
    /**
     * 初始初始化上下文
     */
    initialInitializationContext?: InitializationContext;
    /**
     * 状态管理器实例
     */
    stateManager?: StateManager | null;
    /**
     * antd App 组件配置
     *
     * 用于配置 antd 的 App 组件，使 message、modal、notification 等静态方法能够正确使用。
     */
    antdApp?: AppProps;
}
export declare const AppContextProvider: React.FC<AppContextProviderProps>;
/**
 * 使用主题上下文 Hook
 *
 * @returns 主题上下文值
 * @throws 如果不在 ThemeProvider 内使用会抛出错误
 *
 * @example
 * ```tsx
 * const { theme, setTheme } = useTheme();
 *
 * // 切换主题
 * setTheme({ mode: 'dark' });
 * ```
 */
export declare const useTheme: () => ThemeContextValue;
/**
 * 使用国际化上下文 Hook
 *
 * @returns 国际化上下文值
 * @throws 如果不在 LocaleProvider 内使用会抛出错误
 *
 * @example
 * ```tsx
 * const { locale, setLocale } = useLocale();
 *
 * // 切换语言
 * setLocale('en-US');
 * ```
 */
export declare const useLocale: () => LocaleContextValue;
/**
 * 使用配置上下文 Hook
 *
 * @returns 配置上下文值
 * @throws 如果不在 ConfigProvider 内使用会抛出错误
 */
export declare const useConfig: () => ConfigContextValue;
/**
 * 使用应用上下文 Hook（聚合所有上下文）
 *
 * @returns 应用上下文值
 * @throws 如果不在 AppContextProvider 内使用会抛出错误
 *
 * @example
 * ```tsx
 * const { theme, setTheme, locale, setLocale, antdConfig } = useAppContext();
 *
 * // 切换主题
 * setTheme({ mode: 'dark' });
 *
 * // 切换语言
 * setLocale('en-US');
 * ```
 */
/**
 * 使用状态管理器 Hook
 *
 * @returns 状态管理器实例
 * @throws 如果不在 AppContextProvider 内使用会抛出错误
 *
 * @example
 * ```tsx
 * const stateManager = useStateManager();
 *
 * // 创建状态实例
 * const countState = stateManager?.createState(0);
 * ```
 */
export declare const useStateManager: () => StateManager | null;
export declare const useAppContext: () => AppContextValue;
//# sourceMappingURL=AppContext.d.ts.map