/**
 * Types defined here represent a JSON file structure of the SMM (Safety Motion Module) object dictionary.
 */
/**
 * Represents a single parameter in the SMM object dictionary.
 */
export type SmmOdParameter = {
    parameterName: string;
    variableName: string | null;
    group: string | null;
    index: number;
    subindex: number;
    description: string;
    type: string;
    typeRef?: string | null;
    size: number;
    unit: string | null;
    min: number | null;
    max: number | null;
    defaultValue: number | string | null;
    access: 'rw' | 'ro' | null;
    resetValue: number | string | null;
};
/**
 * Represents a single value in an enumeration type.
 */
export type SmmOdEnumValue = {
    identifier?: string;
    value: number;
    label: string;
    axis?: number | null;
};
/**
 * Represents an enumeration type in the SMM object dictionary.
 */
export type SmmOdEnumType = {
    type: string;
    enum: SmmOdEnumValue[];
};
/**
 * Represents a single category of parameters in the SMM object dictionary.
 */
export type SmmOdParameterCategory = 'safety' | 'manufacturer' | 'constants' | 'globalVariables';
/**
 * Represents all parameters in the SMM object dictionary.
 */
export type SmmOdParameters = {
    [category in SmmOdParameterCategory]: SmmOdParameter[];
};
/**
 * Represents all types in the SMM object dictionary.
 */
export type SmmOdTypes = {
    [key: string]: SmmOdEnumType;
};
/**
 * Represents the SMM object dictionary.
 */
export type SmmOd = {
    parameters: SmmOdParameters;
    types: SmmOdTypes;
};
