import type { Matrix3, Matrix4, Vector2, Vector3, Vector4, NumberArray2, NumberArray3, NumberArray4, NumberArray6, NumberArray8, NumberArray9, NumberArray12, NumberArray16 } from '@math.gl/core'; import type { CompositeShaderType } from '@luma.gl/core'; export type UniformValue = Readonly; export type ShaderModuleUniformValue = UniformValue | ShaderModuleUniformStruct | ShaderModuleUniformArray; export type ShaderModuleUniformStruct = { [name: string]: ShaderModuleUniformValue | undefined; }; export type ShaderModuleUniformArray = ReadonlyArray; type UniformLeafType = ValueT extends number | boolean ? 'f32' | 'i32' | 'u32' : ValueT extends Readonly ? 'vec2' | 'vec2' | 'vec2' : ValueT extends Readonly ? 'vec3' | 'vec3' | 'vec3' : ValueT extends Readonly ? 'vec4' | 'vec4' | 'vec4' | 'mat2x2' : ValueT extends Readonly ? 'mat2x3' | 'mat3x2' : ValueT extends Readonly ? 'mat2x4' | 'mat4x2' : ValueT extends Readonly ? 'mat3x3' : ValueT extends Readonly ? 'mat3x4' | 'mat4x3' : ValueT extends Readonly ? 'mat4x4' : never; type UniformType = ValueT extends UniformValue ? UniformLeafType : ValueT extends ReadonlyArray ? readonly [UniformType>, number] : ValueT extends Record ? { [name in keyof ValueT]-?: UniformType>; } : never; type UniformProps = Record; export type UniformTypes = { [name in keyof PropsT]-?: UniformType> & CompositeShaderType; }; export {}; //# sourceMappingURL=uniform-types.d.ts.map