import type { MeasureEncoding, MeasureGroup, MeasureTree } from '../../../../../types';
/**
 * @description 检查是否为指标树, 指标树深度大于1. 如果存在一个指标为组, 即有children配置, 则认为是指标树.
 * @param vseed vseed
 * @returns
 */
export declare const isMeasureTreeWithChildren: <T extends MeasureTree>(measures?: T) => boolean;
/**
 * @description 检查是否为指标树, 指标树存在parentId. 如果存在一个指标有parentId, 则认为是指标树.
 * @param vseed vseed
 * @returns
 */
export declare const isMeasureTreeWithParentId: <T extends MeasureTree>(measures?: T) => boolean;
/**
 * @description 保证指标树中的每一组都有children, 没有children的指标, 会被放到一个默认的指标组中.
 * @param measures 指标树
 * @returns
 */
export declare const normalizeMeasureTree: (measures: MeasureTree) => MeasureGroup[];
export declare const isCommonMeasureEncoding: (encoding: MeasureEncoding) => boolean;
/**
 * @description Ensures that the measuresByView object has an initialized array for the given parentId.
 * If the parentId doesn't exist in measuresByView, it initializes an empty array and tracks the parentId.
 * @param parentId The parent ID to ensure initialization for
 * @param measuresByView The object mapping parent IDs to measures arrays
 * @param parentIds The array tracking all parent IDs that have been initialized
 */
export declare const ensureParentIdInitialized: <T>(parentId: string, measuresByView: {
    [key: string]: T[];
}, parentIds: string[]) => void;
