import { TokenGroup } from "../../../model/groups/SDKTokenGroup";
import { AnyToken } from "../../../model/tokens/SDKTokenValue";
import { DTProcessedTokenNode } from "./SDKDTJSONConverter";
export type DTTokenMergeDiff = {
    toUpdate: Array<DTProcessedTokenNode>;
    toCreate: Array<DTProcessedTokenNode>;
    toDelete: Array<DTProcessedTokenNode>;
    toCreateOrUpdate: Array<DTProcessedTokenNode>;
};
/** Utility allowing merging of two pools of tokens */
export declare class DTTokenMerger {
    static buildKey(path: Array<string>, name: string): string;
    static buildReference(path: Array<string>, name: string): string;
    buildNodeMap(nodes: Array<DTProcessedTokenNode>): Map<string, DTProcessedTokenNode>;
    convertBaseTokensToProcessedNode(tokens: Array<AnyToken>, groups: Array<TokenGroup>): Array<DTProcessedTokenNode>;
    makeTokensDiff(existing: Array<AnyToken>, extracted: Array<DTProcessedTokenNode>, groups: Array<TokenGroup>): DTTokenMergeDiff;
}
