/** @packageDocumentation
 * @module Hierarchies
 */
/**
 * Data structure that describes raw composite label value.
 * @public
 */
export interface LabelCompositeValue {
    separator: string;
    values: LabelDefinition[];
}
/**
 * Type definition of label raw value.
 * @public
 */
export type LabelRawValue = string | number | boolean | LabelCompositeValue;
/**
 * Data structure that describes label definition.
 * @public
 */
export interface LabelDefinition {
    /** Display value of label */
    displayValue: string;
    /** Raw value of label */
    rawValue: LabelRawValue;
    /** Type name of raw value */
    typeName: string;
}
/** @internal */
export declare const COMPOSITE_LABEL_DEFINITION_TYPENAME = "composite";
/** @public */
export declare namespace LabelDefinition {
    /**
     * Checks if provided [[LabelDefinition]] has raw value of type [[LabelCompositeValue]].
     * @public
     */
    function isCompositeDefinition(def: LabelDefinition): def is LabelDefinition & {
        rawValue: LabelCompositeValue;
    };
    /**
     * Creates [[LabelDefinition]] from string value.
     * @public
     */
    function fromLabelString(label: string): LabelDefinition;
}
//# sourceMappingURL=LabelDefinition.d.ts.map