import { Supernova } from "../../core/SDKSupernova"; import { Brand } from "../../model/base/SDKBrand"; import { TokenGroup } from "../../model/groups/SDKTokenGroup"; import { Logger } from "../../model/support/SDKLogger"; import { TokenTheme } from "../../model/themes/SDKTokenTheme"; import { Token } from "../../model/tokens/SDKToken"; import { AnyToken } from "../../model/tokens/SDKTokenValue"; import { DTProcessedTokenNode } from "./utilities/SDKDTJSONConverter"; import { DTPluginPreciseCopyStrategy, DTPluginThemeOverrideStrategy, DTPluginToSupernovaMap, DTPluginToSupernovaMapPack, DTPluginToSupernovaSettings } from "./utilities/SDKDTMapLoader"; import { DTTokenMergeDiff } from "./utilities/SDKDTTokenMerger"; export type SupernovaToolsDesignTokensLoadingResult = { processedNodes: Array; tokens: Array; groups: Array; }; export type SupernovaToolsDesignTokensResult = { map: Pick; tokensCreated: Array; tokensUpdated: Array; tokensDeleted: Array; }; /** Design Tokens Plugin Manipulation Tool */ export declare class SupernovaToolsDesignTokensPlugin { private instance; private designSystemId; private versionId; private sortMultiplier; private logger; constructor(designSystemId: string, versionId: string, instance: Supernova, logger?: Logger); synchronizeTokensFromData(data: object, mapping: DTPluginToSupernovaMapPack, settings: DTPluginToSupernovaSettings): Promise; synchronizeTokensFromDataWithResults(data: object, mapping: DTPluginToSupernovaMapPack, settings: DTPluginToSupernovaSettings): Promise<{ results: SupernovaToolsDesignTokensResult[]; logs: string[]; }>; private processTokenNodes; private setTokensOrigin; /** Creates pure tree for validation purposes, ignoring any existing token state in workspaces. This method works offline. */ createPureTokenTree(processedNodes: Array, verbose: boolean): { tokens: Array; groups: Array; }; /** Loads remote source connected to this tool, then merges tokens and groups with it, creating union. Can optionally write to the source as well */ mergeWithRemoteSource(processedNodes: Array, brand: Brand, write: boolean, verbose: boolean, preciseCopy: DTPluginPreciseCopyStrategy): Promise<{ tokens: Array; groups: Array; diff: DTTokenMergeDiff; }>; /** Loads remote source connected to this tool, then creates the diff from the base tree and updates the associated theme. Can optionally write to the source as well */ mergeThemeWithRemoteSource(processedNodes: Array, brand: Brand, theme: TokenTheme, write: boolean, verbose: boolean, preciseCopy?: DTPluginPreciseCopyStrategy, themeOverridesStrategy?: DTPluginThemeOverrideStrategy): Promise<{ theme: TokenTheme; tokens: Array; }>; correctSortOrder(tokens: Array, tokenGroups: Array): void; correctSortOrderFromTypeRoot(root: TokenGroup, tokenMap: Map, groupMap: Map): void; flattenedIdsFromRoot(root: TokenGroup, tokenMap: Map, groupMap: Map): Array; }