import { IAbstraction } from '../library/IAbstraction';
import { IAbstractionPool } from '../library/IAbstractionPool';
import { IAsset } from '../library/IAsset';
export declare class AbstractionSet {
    readonly pool: IAbstractionPool;
    private __finalizer;
    private _abstractions;
    get finalizer(): FinalizationRegistry<number>;
    constructor(pool: IAbstractionPool);
    forEach(callback: (asset: IAsset) => void): void;
    getAbstraction<T extends IAbstraction>(asset: IAsset): T;
    checkAbstraction<T extends IAbstraction>(asset: IAsset): T;
    clearAbstraction(id: number, assetType: string): void;
    getNewAbstraction(asset: IAsset): IAbstraction;
}
//# sourceMappingURL=AbstractionSet.d.ts.map