import { Point, Rectangle } from '@awayjs/core';
import { IUnloadable } from '../managers/UnloadManager';
import { ContextWebGL } from './ContextWebGL';
import { TextureWebGL } from './TextureWebGL';
export declare class RenderTargetPool {
    private static _pool;
    static store(target: RenderTargetWebGL): boolean;
    static get(context: ContextWebGL, width: number, height: number, colorOnly?: boolean): RenderTargetWebGL;
}
export declare class RenderTargetWebGL implements IUnloadable {
    protected _context: ContextWebGL;
    readonly width: number;
    readonly height: number;
    protected _colorOnly: boolean;
    isMsaaTarget: boolean;
    readonly id: number;
    lastUsedTime: number;
    canUnload: boolean;
    _framebuffer: WebGLFramebuffer;
    protected _depthStencil: WebGLRenderbuffer;
    protected _linkedTexture: TextureWebGL;
    memoryUsage: number;
    get drawBuffer(): WebGLFramebuffer;
    get readBuffer(): WebGLFramebuffer;
    get isValid(): TextureWebGL;
    constructor(_context: ContextWebGL, width: number, height: number, _colorOnly?: boolean);
    protected init(): void;
    linkTexture(texture: TextureWebGL): void;
    present(target?: RenderTargetWebGL, sourceRect?: Rectangle, targetPoint?: Point, _intoThis?: boolean): void;
    dispose(): void;
    unload(): void;
}
//# sourceMappingURL=RenderTargetWebGL.d.ts.map