import { MapCultureTo, Nullable } from "../../../base-types"; import IResource from "../resource"; import { OptionListType } from "./option-list-type"; import { IOptionListValue } from "./option-list-value"; /** * A collection of predefined values for fields. Also known as 'option lists'. */ export interface IOptionList extends IResource { /** * Gets the name of the option list. Should be unique. */ readonly name: string; /** * Gets or sets a value indicating whether the option list is editable. */ isSystemOwned: boolean; /** * Gets optional translation(s) of the canonical name. */ readonly labels: MapCultureTo; /** * Gets the type of the option list. */ type: OptionListType; /** * Gets a list of the data source values. Use the properties on {@link IFlatOptionList} or * {@link IHierarchicalOptionList} to make changes. */ getOptionListValues(): Array; /** * Sets a list of data source values. */ setOptionListValues(values: Array): void; } export interface ITypedOptionList extends IOptionList { /** * Gets the list of data source values. */ readonly values: Array>; }