/**
 * @deprecated new syntax does not require a separate data structure, use lambda functions instead
 * @template [DATA=Object<number>]
 * @class
 */
export class RenderPass<DATA = any> {
    /**
     *
     * @param [inputs]
     */
    constructor(inputs?: any);
    /**
     * Used for debug and visualisation
     * @type {string}
     */
    name: string;
    /**
     *
     * @type {number|RenderPassFlags}
     */
    flags: number | RenderPassFlags;
    /**
     * Arbitrary dictionary of data
     * @deprecated
     * @type {Object<number>}
     */
    inputs: any;
    /**
     *
     * @param {RenderGraphBuilder} builder
     * @returns {DATA} resources/handles that are used by the pass, includes both inputs and outputs
     */
    setup(builder: RenderGraphBuilder): DATA;
    /**
     * @param {DATA} data
     * @param {RenderPassResources} resources
     * @param {IRenderContext} render_context
     * @returns {void}
     */
    execute(data: DATA, resources: RenderPassResources, render_context: IRenderContext): void;
    /**
     * Validate render pass internal structure
     * This is an optional method, mainly useful for debugging purposes
     * Default behaviour is to report pass as "valid" (true)
     * @param {function(problem:string)} problem_consumer when returning false, reasons are supplied here
     * @return {boolean} true for valid, false for invalid
     */
    validate(problem_consumer: any): boolean;
}
//# sourceMappingURL=RenderPass.d.ts.map