import '../../../../assert/js/assert.js';
import '../../../../globals.js';
import { BindingType, BufferSlot, ComputePipeline, DeviceContext, PipelineLayout, ResourceSlot, ResourceUsage, WGSLModuleDeclarations } from '../../imports.js';
export type PipelineBlueprintOptions = {
    name: string;
    log?: boolean;
};
export declare const PIPELINE_BLUEPRINT_DEFAULTS: {
    readonly log: false;
};
export default class PipelineBlueprint {
    readonly usages: ResourceUsage[];
    readonly name: string;
    readonly log: boolean;
    private readonly declarations;
    private readonly usageMap;
    constructor(providedOptions: PipelineBlueprintOptions);
    toComputePipeline(deviceContext: DeviceContext, pipelineLayout: PipelineLayout): Promise<ComputePipeline>;
    static readonly LOG_BUFFER_SLOT: BufferSlot<number[]>;
    add(name: string, declarations: WGSLModuleDeclarations): void;
    addSlot(name: string, slot: ResourceSlot, bindingType: BindingType): void;
    toString(pipelineLayout: PipelineLayout): string;
    toDebugString(): string;
}
//# sourceMappingURL=PipelineBlueprint.d.ts.map