/** * Three side-by-side number fields, each with a short leading caption (e.g. X/Y/Z, R/G/B, or any strings). */ export type Vec3FieldOptions = { /** Caption shown before each value (three slots). */ labels: readonly [string, string, string]; /** When true, values are display-only (`readOnly` inputs, muted styling). */ readOnly?: boolean; onChange?: () => void; /** Passed to each `` when set. */ step?: string; }; export type Vec3Field = { root: HTMLDivElement; inputs: [HTMLInputElement, HTMLInputElement, HTMLInputElement]; }; /** * One slot with the same DOM/classes as each column in {@link createVec3Field} * (`prop-vec3-field__slot` + label strip + `prop-vec3-field__input`). * Caller configures the input (step, disabled, listeners); this only builds the shell. */ export declare function createVec3StyleSlot(label: string, input: HTMLInputElement): HTMLDivElement; /** Same shell as {@link createVec3StyleSlot} but for a `