import { TokenGroup } from "../../../model/groups/SDKTokenGroup";
import { DTProcessedTokenNode } from "./SDKDTJSONConverter";
import { DTParsedNode } from "./SDKDTJSONLoader";
export type DTPluginToSupernovaMapPack = Array<DTPluginToSupernovaMap>;
export declare enum DTPluginToSupernovaMapType {
    theme = "theme",
    set = "set"
}
export declare enum DTPluginThemeOverrideStrategy {
    default = "default",
    aliasIsDifferent = "aliasIsDifferent"
}
export declare enum DTPluginPreciseCopyStrategy {
    none = "none",// preciseCopy = false
    deleteAll = "deleteAll",// preciseCopy = true
    keepManualTokens = "keepManualTokens"
}
export declare const isPreciseCopyEnabled: (preciseCopy: DTPluginPreciseCopyStrategy) => preciseCopy is DTPluginPreciseCopyStrategy.deleteAll | DTPluginPreciseCopyStrategy.keepManualTokens;
export declare const toPreciseCopyStrategy: (preciseCopy?: boolean | DTPluginPreciseCopyStrategy) => DTPluginPreciseCopyStrategy;
export type DTPluginToSupernovaMap = {
    type: DTPluginToSupernovaMapType;
    pluginSets: Array<string> | null;
    pluginTheme: string | Array<string> | null;
    bindToBrand: string;
    bindToTheme: string | null;
    nodes: Array<DTParsedNode> | null;
    processedNodes: Array<DTProcessedTokenNode> | null;
    processedGroups: Array<TokenGroup> | null;
};
export type DTPluginToSupernovaMappingFile = {
    mode: "single-file" | "multi-file";
    mapping: [
        {
            tokensTheme?: string | Array<string>;
            tokenSets?: Array<string>;
            supernovaBrand: string;
            supernovaTheme?: string;
        }
    ];
    settings?: {
        verbose?: boolean;
        dryRun?: boolean;
        preciseCopy?: boolean | DTPluginPreciseCopyStrategy;
        themeOverridesStrategy?: DTPluginThemeOverrideStrategy;
    };
};
export type DTPluginToSupernovaSettings = {
    verbose: boolean;
    dryRun: boolean;
    preciseCopy: DTPluginPreciseCopyStrategy;
    themeOverridesStrategy: DTPluginThemeOverrideStrategy;
};
