export class CompositLayer {
    /**
     *
     * @param {THREE.WebGLRenderTarget} renderTarget
     * @param {BlendingType} blending
     * @param {number} renderTargetScale
     */
    constructor({ renderTarget, blending, renderTargetScale }: THREE.WebGLRenderTarget);
    /**
     * Human-readable name, useful for debugging
     * @type {string}
     */
    name: string;
    /**
     *
     * @type {BlendingType}
     */
    __blending: BlendingType;
    /**
     *
     * @type {WebGLRenderTarget}
     */
    renderTarget: WebGLRenderTarget;
    /**
     *
     * @type {number}
     */
    renderTargetScale: number;
    object: Mesh<import("three").BufferGeometry, ShaderMaterial>;
    /**
     * Which compositing stage this layer belongs to, stages are rendered independently
     * @type {number}
     */
    stage: number;
    size: Vector2;
    /**
     *
     * @type {boolean}
     */
    __enabled: boolean;
    /**
     * Layers are composited in order from lowest to highest
     * @type {number}
     */
    __order: number;
    on: {
        preRender: Signal<any, any, any, any, any, any, any, any>;
    };
    set blending(arg: number);
    get blending(): number;
    /**
     *
     * @param {number} v
     */
    set order(arg: number);
    /**
     *
     * @return {number}
     */
    get order(): number;
    /**
     *
     * @param {number} v
     */
    set enabled(arg: boolean);
    /**
     *
     * @returns {boolean}
     */
    get enabled(): boolean;
    enable(): void;
    disable(): void;
    /**
     *
     * @param {number} x
     * @param {number} y
     */
    setSize(x: number, y: number): void;
    updateRenderTargetSize(): void;
    /**
     *
     * @param {number} scale
     */
    setRenderTargetScale(scale: number): void;
    /**
     * Override screen-space material of the layer. This allows you to render directly into the output buffer, bypassing the need to create an intermediate buffer
     * NOTE: Please make sure you know what you're doing if you use this method
     * @param {Material} material
     */
    setCustomMaterial(material: Material): void;
    buildMaterial(): ShaderMaterial;
}
import { BlendingType } from "../texture/sampler/BlendingType.js";
import { ShaderMaterial } from "three";
import { Mesh } from "three";
import Vector2 from "../../../core/geom/Vector2.js";
import Signal from "../../../core/events/signal/Signal.js";
//# sourceMappingURL=CompositLayer.d.ts.map