import { ParsedBundle, ParsedModule, ShaderModule, ShaderDefine, DataBinding, SymbolTableT, UniformAttribute, VirtualRender } from '../types.d.cts'; export type BindBundle = (bundle: ShaderModule, linkDefs?: Record, defines?: Record | null, key?: string | number) => string; export type BindModule = (main: ParsedModule, libs?: Record, linkDefs?: Record, defines?: Record | null, virtual?: ParsedModule[], key?: string | number) => ParsedBundle; export type DefineConstants = (defines: Record) => string; export type AttributeToFields = (a: UniformAttribute) => UniformAttribute; export type MakeUniformRender = (constants: DataBinding[], set?: number | string, binding?: number | string) => VirtualRender; export declare const bindBundle: (subject: ShaderModule, links?: Record | null, defines?: Record | null) => ParsedBundle; export declare const bindModule: (subject: ShaderModule, links?: Record | null, defines?: Record | null) => ParsedBundle; export declare const mergeBindings: (into: Set>, chunk: ParsedBundle | ParsedModule) => void; export declare const makeResolveBindings: (attributeToFields: AttributeToFields, makeUniformRender: MakeUniformRender, getVirtualBindGroup: (defines?: Record) => string | number) => any; export declare const toNamespace: (i: number) => string; export declare const namespaceBinding: (namespace: string, binding: DataBinding) => { attribute: { name: string; format: import("...d.cts").UniformFormat; type?: ShaderModule; args?: any[] | null; members?: UniformAttribute[]; attr?: import("...d.cts").UniformShaderAttribute[]; qual?: string; }; uniform?: import("...d.cts").StorageSource; sampler?: import("...d.cts").SamplerSource; storage?: import("...d.cts").StorageSource; texture?: import("...d.cts").TextureSource; lambda?: import("...d.cts").LambdaSource> | undefined; constant?: any; }; export declare const getBindingArgument: (binding?: ShaderDefine) => string | number;