export type UniformFieldType = "float" | "vec2" | "vec3" | "vec4" | "mat4";
export interface UniformFieldDescriptor {
    readonly name: string;
    readonly type: UniformFieldType;
    readonly arrayLength?: number;
}
export interface UniformFieldLayout extends UniformFieldDescriptor {
    readonly offset: number;
    readonly byteLength: number;
    readonly alignment: number;
}
export declare class UniformLayout {
    readonly fields: readonly UniformFieldLayout[];
    readonly byteLength: number;
    constructor(fields: readonly UniformFieldDescriptor[]);
    getField(name: string): UniformFieldLayout;
    pack(values: Readonly<Record<string, number | readonly number[] | Float32Array>>): Float32Array;
}
//# sourceMappingURL=UniformLayout.d.ts.map