/**
 * @file 资源管理器
 * @description 提供资源管理和释放功能
 * @module utils/resource-manager
 */
/**
 * 可释放资源接口
 */
export interface Disposable {
    /** 释放资源 */
    dispose(): Promise<void> | void;
}
/**
 * 资源管理器类
 * 用于管理和自动释放资源
 */
export declare class ResourceManager {
    private resources;
    /**
     * 注册资源
     * @param resource 可释放资源
     * @returns 资源本身，便于链式调用
     */
    register<T extends Disposable>(resource: T): T;
    /**
     * 释放指定资源
     * @param resource 要释放的资源
     * @returns 是否成功释放
     */
    release(resource: Disposable): Promise<boolean>;
    /**
     * 释放所有资源
     */
    releaseAll(): Promise<void>;
    /**
     * 获取当前管理的资源数量
     */
    get count(): number;
}
/**
* 创建一个自动释放的资源
* @param factory 资源工厂函数
* @param disposeCallback 释放回调函数
* @returns 创建的资源
*/
export declare function createDisposable<T>(factory: () => T, disposeCallback: (resource: T) => Promise<void> | void): T & Disposable;
/**
 * 使用资源并自动释放
 * @param resource 可释放资源
 * @param callback 使用资源的回调函数
 * @returns 回调函数的返回值
 */
export declare function using<T extends Disposable, R>(resource: T, callback: (resource: T) => Promise<R> | R): Promise<R>;
