import { IEventDispatcher } from '../events/IEventDispatcher';
import { IAbstraction } from './IAbstraction';
import { IAssetAdapter } from './IAssetAdapter';
export interface IAsset extends IEventDispatcher {
    adapter: IAssetAdapter;
    /**
     *
     */
    name: string;
    /**
     *
     */
    id: number;
    /**
     *
     */
    assetNamespace: string;
    /**
     *
     */
    assetType: string;
    /**
     *
     * @param name
     * @param ns
     */
    assetPathEquals(name: string, ns: string): boolean;
    /**
     *
     */
    clone(): IAsset;
    /**
     *
     */
    invalidate(): any;
    /**
     *
     * @param IAssetClass
     */
    isAsset(IAssetClass: any): boolean;
    /**
     *
     * @param name
     * @param ns
     * @param overrideOriginal
     */
    resetAssetPath(name: string, ns: string, overrideOriginal?: boolean): void;
    addAbstraction(abstraction: IAbstraction): void;
    removeAbstraction(abstraction: IAbstraction): void;
}
//# sourceMappingURL=IAsset.d.ts.map