import { type RenderPass, type RenderPassContext } from "./RenderPass";
export interface RenderGraphResourceLifetime {
    readonly name: string;
    readonly writer: string;
    readonly readers: readonly string[];
    readonly firstPassIndex: number;
    readonly lastPassIndex: number;
}
export interface RenderGraphPlan {
    readonly passes: readonly RenderPass[];
    readonly resources: readonly RenderGraphResourceLifetime[];
}
export declare class RenderGraph {
    private readonly passes;
    addPass(pass: RenderPass): void;
    clear(): void;
    compile(): readonly RenderPass[];
    compilePlan(): RenderGraphPlan;
    execute(context: RenderPassContext): void;
    executeAsync(context: RenderPassContext): Promise<void>;
}
//# sourceMappingURL=RenderGraph.d.ts.map