/**
 * 派生状态实例实现
 */
import type { IDerivedStateInstance, IStateInstance, DerivedStateConfig, StateInstanceId, StateScope, StateSubscriber, StateUpdater, Unsubscribe } from '../types';
/**
 * 派生状态实例
 *
 * 派生状态不直接存储值，而是基于依赖状态自动计算
 *
 * @template T - 派生状态值类型
 * @template D - 依赖状态实例数组类型
 */
export declare class DerivedStateInstance<T, D extends readonly IStateInstance[]> implements IDerivedStateInstance<T> {
    /**
     * 状态实例标识符
     */
    private readonly id;
    /**
     * 状态作用域
     */
    private readonly scope?;
    /**
     * 派生状态配置
     */
    private readonly config;
    /**
     * 当前派生值
     */
    private value;
    /**
     * 订阅者集合
     */
    private readonly subscribers;
    /**
     * 依赖状态的取消订阅函数数组
     */
    private readonly dependencyUnsubscribes;
    /**
     * 是否已销毁
     */
    private destroyed;
    /**
     * 是否正在重新计算
     */
    private recomputing;
    /**
     * 构造函数
     *
     * @param config - 派生状态配置
     * @param options - 状态实例配置选项
     */
    constructor(config: DerivedStateConfig<T, D>, options?: {
        id?: StateInstanceId;
        scope?: StateScope;
    });
    /**
     * 获取当前状态值
     */
    get(): T;
    /**
     * 派生状态不支持直接设置值
     */
    set(_valueOrUpdater: T | StateUpdater<T>): void;
    /**
     * 订阅状态变化
     */
    subscribe(subscriber: StateSubscriber<T>): Unsubscribe;
    /**
     * 获取状态实例标识符
     */
    getId(): StateInstanceId;
    /**
     * 获取状态作用域
     */
    getScope(): StateScope | undefined;
    /**
     * 获取依赖的状态实例
     */
    getDependencies(): readonly IStateInstance[];
    /**
     * 手动重新计算派生状态
     */
    recompute(): void;
    /**
     * 销毁状态实例
     */
    destroy(): void;
    /**
     * 检查状态实例是否已销毁
     */
    isDestroyed(): boolean;
    /**
     * 设置依赖状态订阅
     */
    private setupDependencies;
    /**
     * 通知所有订阅者
     */
    private notifySubscribers;
}
//# sourceMappingURL=DerivedStateInstance.d.ts.map