/**
 * @import { FramePass } from '../platform/graphics/frame-pass.js'
 * @import { RenderPass } from '../platform/graphics/render-pass.js'
 * @import { RenderTarget } from '../platform/graphics/render-target.js'
 * @import { Texture } from '../platform/graphics/texture.js'
 */
/**
 * A frame graph represents a single rendering frame as a sequence of frame passes.
 *
 * @ignore
 */
export class FrameGraph {
    /** @type {FramePass[]} */
    renderPasses: FramePass[];
    /**
     * Map used during frame graph compilation. It maps a render target to its previous occurrence.
     *
     *  @type {Map<RenderTarget, RenderPass>}
     */
    renderTargetMap: Map<RenderTarget, RenderPass>;
    /**
     * Add a frame pass to the frame.
     *
     * @param {FramePass} renderPass - The frame pass to add.
     */
    addRenderPass(renderPass: FramePass): void;
    reset(): void;
    compile(): void;
    render(device: any): void;
}
import type { FramePass } from '../platform/graphics/frame-pass.js';
import type { RenderTarget } from '../platform/graphics/render-target.js';
import type { RenderPass } from '../platform/graphics/render-pass.js';
