import type { HierarchicalDatum, HierarchicalNodeElement } from './interface';
export declare const calculateNodeValue: <Datum extends HierarchicalDatum, NodeElement extends HierarchicalNodeElement<Datum>>(subTree: Datum[], output: NodeElement[], depth?: number, flattenIndex?: number, parent?: NodeElement, getNodeKey?: (datum: Datum) => string, valueField?: string) => {
    sum: number;
    maxDepth: number;
    flattenIndex: number;
};
export declare const eachBefore: <NodeElement extends HierarchicalDatum, ContextType = any>(subTree: NodeElement[], callback: (node: NodeElement, index?: number, parent?: NodeElement, ctx?: ContextType) => ContextType, parent?: NodeElement, ctx?: ContextType) => ContextType;
export declare const eachAfter: <NodeElement extends HierarchicalDatum, ContextType = any>(subTree: NodeElement[], callback: (node: NodeElement, index?: number, parent?: NodeElement, ctx?: ContextType) => ContextType, parent?: NodeElement, ctx?: ContextType) => ContextType;
