/**
 * Redux Toolkit 适配器
 *
 * 将 Redux Toolkit store 映射到 Secra 状态抽象
 *
 * 使用说明：
 * 1. 需要安装 @reduxjs/toolkit 作为 peerDependency
 * 2. 每个状态实例对应一个 Redux slice
 * 3. 支持 Redux DevTools 集成（如果可用）
 * 4. 支持中间件和开发模式
 *
 * @example
 * ```typescript
 * import { ReduxAdapter } from '@vlian/framework/state';
 *
 * const adapter = new ReduxAdapter({ devMode: true });
 * const state = adapter.createInstance(0, { id: 'counter' });
 *
 * state.set(1);
 * console.log(state.get()); // 1
 * ```
 */
import type { IStateAdapter, IStateInstance, StateInstanceOptions } from '../types';
/**
 * Redux 相关类型定义（如果 Redux 不可用，这些类型将用于类型检查）
 */
type ReduxStore = {
    dispatch: (action: unknown) => unknown;
    getState: () => Record<string, unknown>;
    subscribe: (listener: () => void) => () => void;
    replaceReducer: (nextReducer: (state: unknown, action: unknown) => unknown) => void;
};
/**
 * Redux Toolkit 适配器配置选项
 */
export interface ReduxAdapterOptions {
    /**
     * 是否启用开发模式
     */
    devMode?: boolean;
    /**
     * 自定义 Redux store（可选）
     * 如果不提供，将创建一个新的 store
     */
    store?: ReduxStore;
    /**
     * Redux store 配置选项（仅在创建新 store 时使用）
     */
    storeConfig?: {
        /**
         * 是否启用 Redux DevTools
         */
        devTools?: boolean;
        /**
         * Redux 中间件数组
         */
        middleware?: unknown[];
    };
}
/**
 * Redux Toolkit 适配器
 *
 * 将 Redux Toolkit store 映射到 Secra 状态抽象
 */
export declare class ReduxAdapter implements IStateAdapter {
    /**
     * 适配器名称
     */
    private readonly name;
    /**
     * 是否已销毁
     */
    private destroyed;
    /**
     * 创建的状态实例集合
     */
    private readonly instances;
    /**
     * Redux store 实例
     */
    private store;
    /**
     * Redux slice 名称计数器（用于生成唯一的 slice 名称）
     */
    private sliceCounter;
    /**
     * Redux slice 名称到状态实例的映射
     */
    private readonly sliceToInstance;
    /**
     * 动态 reducer 管理器
     */
    private readonly reducerManager;
    /**
     * 是否启用开发模式
     */
    private readonly devMode;
    /**
     * 构造函数
     *
     * @param options - 适配器配置选项
     */
    constructor(options?: ReduxAdapterOptions);
    /**
     * 检查 Redux 是否可用
     */
    private checkReduxAvailable;
    /**
     * 获取或创建 Redux store
     */
    private getOrCreateStore;
    /**
     * 创建 Redux slice
     */
    private createSlice;
    /**
     * 创建状态实例
     */
    createInstance<T = unknown>(initialValue: T, options?: StateInstanceOptions): IStateInstance<T>;
    /**
     * 销毁适配器
     */
    destroy(): void;
    /**
     * 获取适配器名称
     */
    getName(): string;
}
export {};
//# sourceMappingURL=ReduxAdapter.d.ts.map