import { AssetBase } from './AssetBase';
import { IAbstraction } from './IAbstraction';
import { IAbstractionPool } from './IAbstractionPool';
import { IAsset } from './IAsset';
/**
 *
 * @export class away.pool.AbstractionBase
 */
export declare class AbstractionBase extends AssetBase implements IAbstraction {
    private _assetId;
    private _assetType;
    protected _pool: IAbstractionPool;
    protected _useWeak: boolean;
    protected _asset: WeakRef<IAsset> | IAsset;
    protected _invalid: boolean;
    constructor();
    init(asset: IAsset, pool: IAbstractionPool, useWeak?: boolean): void;
    /**
     *
     */
    onClear(): void;
    /**
     *
     */
    onInvalidate(): void;
}
//# sourceMappingURL=AbstractionBase.d.ts.map