import type { LayerPass } from './LayerPass';
import { RenderTexture, Renderer } from "../core";
import { Rectangle, Matrix } from "../math";
/**
 * This manages the render-texture a {@link Layer} renders into.
 *
 * This is used internally by {@link Layer#render}.
 * @memberof PIXI.layers
 */
export declare class LayerTextureCache {
    layer: LayerPass;
    constructor(layer: LayerPass);
    private renderTexture;
    private doubleBuffer;
    private currentBufferIndex;
    _tempRenderTarget: RenderTexture;
    _tempRenderTargetSource: Rectangle;
    _tempRenderTargetDestination: Rectangle;
    _tempTransform: Matrix;
    private init;
    calcSize(renderer?: Renderer): {
        width: number;
        height: number;
        resolution: number;
    };
    /** See {@link Layer#getRenderTexture}. */
    getRenderTexture(): RenderTexture;
    /** Prepares the layer's render-texture and set it as the render-target. */
    pushTexture(renderer: Renderer): void;
    /** Flushes the renderer and restores the old render-target. */
    popTexture(renderer: Renderer): void;
    /** Destroy the texture-cache. Set {@link Layer.textureCache} to {@code null} after destroying it! */
    destroy(): void;
}
