export { matchDeclarations, constructType }; export type { Keys, Library }; declare const constructType: (type: Keys, length: number, lib: Library) => string; declare const nativeTypes: { bool: string[]; uint: string[]; int: string[]; float: string[]; bvec2: string[]; bvec3: string[]; bvec4: string[]; ivec2: string[]; ivec3: string[]; ivec4: string[]; vec2: string[]; vec3: string[]; vec4: string[]; mat2: string[]; mat3: string[]; mat4: string[]; sampler2D: string[]; samplerCube: string[]; }; type Keys = keyof typeof nativeTypes; type UniformMatches = [type: Keys, name: string, length: number]; declare const matchDeclarations: (code: string) => UniformMatches[]; type Library = { namespace?: string; types?: { [K in Keys]?: LibraryType[]; }; nesting?: boolean; }; type LibraryType = string | { alias: string; type: string; };