import { ITexture } from '../base/ITexture';
import { TextureBaseWebGL } from './TextureBaseWebGL';
import { ContextWebGL } from './ContextWebGL';
import { IUnloadable } from '../managers/UnloadManager';
import { RenderTargetWebGLMSAA } from './RenderTargetWebGLMSAA';
import { RenderTargetWebGL } from './RenderTargetWebGL';
export declare class TextureWebGL extends TextureBaseWebGL implements ITexture, IUnloadable {
    static readonly SIZE_POOL_LIMIT = 10;
    static unloadManager: import("../managers/UnloadManager").UnloadManager<TextureWebGL>;
    private static _pool;
    static store(tex: TextureWebGL): boolean;
    static remove(tex: TextureWebGL): boolean;
    static create(context: ContextWebGL, width: number, height: number): TextureWebGL;
    textureType: string;
    _renderTarget: RenderTargetWebGLMSAA | RenderTargetWebGL;
    _width: number;
    _height: number;
    _isFilled: boolean;
    _isPMA: boolean;
    _isRT: boolean;
    _isMipmaped: boolean;
    lastUsedTime: number;
    get canUnload(): boolean;
    constructor(context: ContextWebGL, width: number, height: number);
    get isPOT(): boolean;
    get width(): number;
    get height(): number;
    /**
     * @inheritdoc
     */
    dispose(): void;
    unload(): void;
    uploadFromArray(array: Uint8Array | Array<number>, miplevel?: number, premultiplied?: boolean): void;
    uploadFromURL(urlRequest: unknown, miplevel?: number, premultiplied?: boolean): void;
    uploadCompressedTextureFromArray(array: Uint8Array, offset: number, async?: boolean): void;
    generateMipmaps(): void;
}
//# sourceMappingURL=TextureWebGL.d.ts.map