/**
 * @template T
 */
export class FramePassNode<T> extends FrameGraphNode {
    constructor();
    /**
     *
     * @param {T} data
     * @param {FramePassResources} resources
     * @param {IFrameGraphContext} context
     */
    execute(data: T, resources: FramePassResources, context: IFrameGraphContext): void;
    /**
     *
     * @type {boolean}
     */
    has_side_effects: boolean;
    /**
     *
     * @type {Object}
     */
    data: any;
    /**
     * IDs of created resources
     * @type {number[]}
     */
    resource_creates: number[];
    /**
     * IDs of read resources
     * @type {number[]}
     */
    resource_reads: number[];
    /**
     * IDs of written resources
     * @type {number[]}
     */
    resource_writes: number[];
    /**
     *
     * @param {number} id
     * @return {boolean}
     */
    creates(id: number): boolean;
    /**
     *
     * @param {number} id
     * @return {boolean}
     */
    reads(id: number): boolean;
    /**
     *
     * @param {number} id
     * @return {boolean}
     */
    writes(id: number): boolean;
    /**
     *
     * @param {number} resource
     * @returns {number}
     */
    write(resource: number): number;
    /**
     *
     * @param {number} resource
     * @returns {number} same as the input
     */
    read(resource: number): number;
    /**
     *
     * @return {boolean}
     */
    can_execute(): boolean;
}
import { FrameGraphNode } from "./FrameGraphNode.js";
//# sourceMappingURL=FramePassNode.d.ts.map