import { AssetBase } from '@awayjs/core';
export declare class ManagedPool<T extends AssetBase> {
    readonly baseClass: {
        new (...args: any): T;
        assetType: string;
    };
    private _limit;
    enabled: boolean;
    /**
     * @description Reduce a size every n-sec
     */
    static REDUCE_TIMEOUT: number;
    private _store;
    constructor(baseClass: {
        new (...args: any): T;
        assetType: string;
    }, _limit?: number, enabled?: boolean);
    private resize;
    get size(): number;
    set size(v: number);
    get limit(): number;
    set limit(v: number);
    pop(): T | null;
    store(entry: T): boolean;
    release(entry: T): boolean;
    clear(): void;
    dispose(): void;
}
//# sourceMappingURL=ManagedPool.d.ts.map