import { EventDispatcher } from '../events/EventDispatcher';
import { IAbstraction } from './IAbstraction';
import { IAsset } from './IAsset';
import { IAssetAdapter } from './IAssetAdapter';
import { IAssetClass } from './IAssetClass';
export declare class AssetBase extends EventDispatcher implements IAsset, IAssetAdapter {
    _symbol: any;
    _adapter: IAssetAdapter;
    private _namespace;
    private _name;
    private _abstractions;
    static assetType: string;
    static DEFAULT_NAMESPACE: string;
    /**
     * A unique id for the asset, used to identify assets in an associative array
     */
    readonly id: number;
    constructor();
    get adaptee(): AssetBase;
    /**
     * adapter is used to provide MovieClip to scripts taken from different platforms
     * setter typically managed by factory. getter defaults to AwayJS class
     */
    get adapter(): IAssetAdapter;
    set adapter(value: IAssetAdapter);
    /**
     *
     */
    get assetType(): string;
    get name(): string;
    set name(val: string);
    /**
     *
     */
    invalidate(): void;
    addAbstraction(abstraction: IAbstraction): void;
    removeAbstraction(abstraction: IAbstraction): void;
    /**
     * @inheritDoc
     */
    dispose(): void;
    clone(): AssetBase;
    clear(): void;
    get assetNamespace(): string;
    set assetNamespace(value: string);
    assetPathEquals(name: string, ns: string): boolean;
    isAsset(assetClass: IAssetClass): boolean;
    resetAssetPath(name: string, ns?: string): void;
}
//# sourceMappingURL=AssetBase.d.ts.map