import type { ShaderUniformType, ShaderDataType } from "../gpu-type-utils/shader-types.js";
import type { UniformValue } from "../adapter/types/uniforms.js";
/**
 * Std140 layout for uniform buffers
 * Supports manual listing of uniforms
 */
export declare class UniformBufferLayout {
    readonly layout: Record<string, {
        offset: number;
        size: number;
        type: ShaderDataType;
    }>;
    /** number of bytes needed for buffer allocation */
    readonly byteLength: number;
    /** Create a new UniformBufferLayout given a map of attributes. */
    constructor(uniformTypes: Record<string, ShaderUniformType>);
    /** Get the data for the complete buffer */
    getData(uniformValues: Record<string, UniformValue>): Uint8Array;
    /** Does this layout have a field with specified name */
    has(name: string): boolean;
    /** Get offset and size for a field with specified name */
    get(name: string): {
        offset: number;
        size: number;
    } | undefined;
}
//# sourceMappingURL=uniform-buffer-layout.d.ts.map