import type { StructLayout, TypedArray } from "./types.js"; /** A value writable into a uniform/storage struct member. */ export type PackableValue = number | boolean | number[] | number[][] | TypedArray | PackableStruct; /** A member that is itself a struct: an object keyed by its member names. */ export interface PackableStruct { [member: string]: PackableValue; } /** * Pack values into a struct layout inside `destination`. * * `values` is either an object keyed by member name, or — when the layout is a * synthetic single-value layout for a non-struct binding — the value itself. * Throws on unknown member names, and on values that cannot be written, to * surface typos and missing defaults early. * * Known limitation: elements of `array` members are written * tightly packed — structs with internal padding (eg. two vec3f members) need * their padding included in the source data. */ export declare function packStruct(destination: ArrayBuffer, layout: StructLayout, values: Record | PackableValue, byteOffset?: number): void; //# sourceMappingURL=pack.d.ts.map