import { AssetBase } from '@awayjs/core';
export declare class ImageBase extends AssetBase {
    private _format;
    private _isDisposed;
    private _owners;
    get isDisposed(): boolean;
    /**
     *
     * @returns {string}
     */
    get format(): string;
    getImageType(): string;
    /**
     *
     */
    constructor();
    addOwner(owner: IImageOwner): void;
    removeOwner(owner: IImageOwner): void;
    invalidateOwners(): void;
    clearOwners(): void;
    dispose(): void;
    /**
     *
     */
    invalidateMipmaps(): void;
}
import { AbstractionBase } from '@awayjs/core';
import { ITextureBase } from '../base/ITextureBase';
import { ImageSampler } from './ImageSampler';
import { Stage } from '../Stage';
import { IImageOwner } from './IImageOwner';
/**
 *
 * @class away.pool.GL_ImageBase
 */
export declare class _Stage_ImageBase extends AbstractionBase {
    usages: number;
    _texture: ITextureBase;
    _mipmap: boolean;
    _invalidMipmaps: boolean;
    _invalidMapper: boolean;
    private _onInvalidateMipmapsDelegate;
    getTexture(): ITextureBase;
    get image(): ImageBase;
    init(image: ImageBase, stage: Stage): void;
    /**
     *
     */
    onClear(): void;
    activate(index: number, sampler?: ImageSampler): void;
    protected _createTexture(): void;
    /**
     *
     */
    private _onInvalidateMipmaps;
}
//# sourceMappingURL=ImageBase.d.ts.map