import type { Bindings, BindingsByGroup } from "../adapter/types/shader-layout.js"; import type { Device } from "../adapter/device.js"; import type { ComputePipeline } from "../adapter/resources/compute-pipeline.js"; import type { RenderPipeline } from "../adapter/resources/render-pipeline.js"; type AnyPipeline = RenderPipeline | ComputePipeline; type BindGroupCacheKeys = Partial>; type BindGroupMap = Partial>; export declare class BindGroupFactory { readonly device: Device; private readonly _layoutCacheByPipeline; private readonly _bindGroupCacheByLayout; constructor(device: Device); getBindGroups(pipeline: AnyPipeline, bindings?: Bindings | BindingsByGroup, bindGroupCacheKeys?: BindGroupCacheKeys): BindGroupMap; private _getBindGroupLayout; private _getEmptyBindGroup; private _getLayoutBindGroupCache; } export declare function _getDefaultBindGroupFactory(device: Device): BindGroupFactory; export {}; //# sourceMappingURL=bind-group-factory.d.ts.map