/**
 * Object containing a list of dictionary entries and colors of an entry type.
 */
import { List } from '@iqser/common-ui/lib/utils';

export interface IDictionary {
    /**
     * If true the ui will add a action to add values to dictionary
     */
    readonly addToDictionaryAction?: boolean;
    /**
     * True if the entries in this type should be matched case insensitively, default is false.
     */
    readonly caseInsensitive?: boolean;
    /**
     * The description of the dictionary type
     */
    readonly description?: string;
    /**
     * The DossierTemplate Id for this type
     */
    readonly dossierTemplateId?: string;
    /**
     * The nonnull entry type.
     */
    readonly type: string;
    /**
     * The list of dictionary entries of an entry type.
     */
    readonly entries?: List;
    readonly falsePositiveEntries?: List;
    readonly falseRecommendationEntries?: List;
    /**
     * The value of color must be a correct hex color
     */
    readonly hexColor?: string;
    /**
     * True if the type just for hint, not for redaction, default is false.
     */
    readonly hint?: boolean;
    /**
     * Label of the type
     */
    readonly label?: string;
    /**
     * The rank of this dictionary, higher rank means higher importance.
     */
    readonly rank?: number;
    /**
     * True if the type just for recommendations, not for redaction, default is false.
     */
    readonly recommendation?: boolean;

    readonly recommendationHexColor?: string;

    readonly skippedHexColor?: string;

    readonly hasDictionary?: boolean;

    readonly systemManaged?: boolean;

    readonly dossierDictionaryOnly?: boolean;
}
