import { MapCultureTo, Nullable } from "../../../base-types";
/**
 * Values for a {@link IOptionList}.
 * Also known as 'option list value'.
 */
export interface IOptionListValue {
    /**
     * The name of the value.
     * Because it is used as an identifier, it needs to be unique.
     */
    identifier: string;
    /**
     * The canonical name and optional other translated values.
     */
    labels: MapCultureTo<string>;
}
/**
 * A flat option list value.
 */
export type IFlatOptionListValue = IOptionListValue;
/**
 * A hierarchical option list value.
 */
export interface IHierarchicalOptionListValue extends IOptionListValue {
    /**
     * Optional, contains nested {@link IHierarchicalOptionListValue}s.
     */
    readonly values?: Array<Nullable<IHierarchicalOptionListValue>>;
}
