/**
 * 状态管理器主类
 *
 * 这是状态管理器的核心入口，提供统一的状态管理 API
 */
import type { IStateInstance, IStateAdapter, IStateRegistry, StateInstanceOptions, StateManagerOptions, StateScope, DerivedStateConfig, IDerivedStateInstance } from './types';
/**
 * 状态管理器实现
 */
export declare class StateManager implements IStateManager {
    /**
     * 默认适配器
     */
    private readonly adapter;
    /**
     * 状态注册表（如果启用）
     */
    private readonly registry;
    /**
     * 默认作用域
     */
    private readonly defaultScope?;
    /**
     * 是否启用开发模式
     */
    private readonly devMode;
    /**
     * 是否已销毁
     */
    private destroyed;
    /**
     * 构造函数
     *
     * @param options - 状态管理器配置选项
     */
    constructor(options?: StateManagerOptions);
    /**
     * 创建状态实例
     */
    createState<T = unknown>(initialValue: T, options?: StateInstanceOptions): IStateInstance<T>;
    /**
     * 创建派生状态
     */
    createDerivedState<T, D extends readonly IStateInstance[]>(config: DerivedStateConfig<T, D>, options?: {
        id?: string | symbol;
        scope?: StateScope;
    }): IDerivedStateInstance<T>;
    /**
     * 获取状态实例（如果启用了注册表）
     */
    getState(id: string | symbol): IStateInstance | undefined;
    /**
     * 根据作用域获取所有状态实例
     */
    getStatesByScope(scope: StateScope): IStateInstance[];
    /**
     * 获取所有状态实例
     */
    getAllStates(): IStateInstance[];
    /**
     * 销毁指定作用域的所有状态实例
     */
    destroyScope(scope: StateScope): void;
    /**
     * 销毁状态管理器
     */
    destroy(): void;
    /**
     * 检查状态管理器是否已销毁
     */
    isDestroyed(): boolean;
    /**
     * 获取当前使用的适配器
     */
    getAdapter(): IStateAdapter;
    /**
     * 获取注册表（如果启用）
     */
    getRegistry(): IStateRegistry | null;
}
/**
 * 状态管理器接口
 */
export interface IStateManager {
    /**
     * 创建状态实例
     */
    createState<T = unknown>(initialValue: T, options?: StateInstanceOptions): IStateInstance<T>;
    /**
     * 创建派生状态
     */
    createDerivedState<T, D extends readonly IStateInstance[]>(config: DerivedStateConfig<T, D>, options?: {
        id?: string | symbol;
        scope?: StateScope;
    }): IDerivedStateInstance<T>;
    /**
     * 获取状态实例
     */
    getState(id: string | symbol): IStateInstance | undefined;
    /**
     * 根据作用域获取所有状态实例
     */
    getStatesByScope(scope: StateScope): IStateInstance[];
    /**
     * 获取所有状态实例
     */
    getAllStates(): IStateInstance[];
    /**
     * 销毁指定作用域的所有状态实例
     */
    destroyScope(scope: StateScope): void;
    /**
     * 销毁状态管理器
     */
    destroy(): void;
    /**
     * 检查状态管理器是否已销毁
     */
    isDestroyed(): boolean;
}
//# sourceMappingURL=StateManager.d.ts.map