import { type DecodedFieldSpec } from '../decoded-patch-map.js'; import { type DeepMindParamSpec } from './param-spec.js'; export type ParamEnumEntry = { value: number; label: string; }; export type ParamSettableInfo = { nrpn: { msb: number; lsb: number; }; kind: DeepMindParamSpec['kind']; rawMin: number; rawMax: number; normalizedMin: number; normalizedMax: number; }; export type ParamDecodedInfo = { offset: number; kind: DecodedFieldSpec['kind']['type']; rawMin: number; rawMax: number; normalizedMin: number; normalizedMax: number; ui?: DecodedFieldSpec['ui']; value?: DecodedFieldSpec['value']; notes?: string; condition?: { field: string; equals: number; }; }; export type ParamInfo = { /** Canonical name used by the system. */ name: string; /** Whether the param is settable via set_param/set_params (curated NRPN param-spec table). */ settable?: ParamSettableInfo; /** Whether the param is decodable from edit-buffer snapshots. */ decoded?: ParamDecodedInfo; /** Enum-like labels for raw values, when known. */ enum?: { values: ParamEnumEntry[]; }; }; export declare function resolveParamNameForInfo(input: string): string | null; export declare function getParamInfo(input: string): ParamInfo | null; export declare function listParamInfos(): ParamInfo[];