export type AuraToLwcTokensMapping = Record<string, string>;
export type BEMNaming = Record<string, string>;
export type DeprecatedClasses = string[];
export type DeprecatedStylingHooks = string[];
export type GlobalStylingHooks = {
    global: Record<string, StylingHookProperties>;
    component: Record<string, StylingHookProperties>;
    shared: Record<string, StylingHookProperties>;
}
export type StylingHookProperties = {
    category: string;
    external: boolean;
    scope: string;
    properties: string[];
    values: Record<string, string>;
    aliases: Record<string, string>;
}

export type LwcTokenData = {
    deprecated: boolean;
    continueToUse: boolean;
    okForValidator: boolean;
    replacement: string;
    alternate: string;
}

export type LwcToSldsTokensMapping = Record<string, LwcTokenData>;

export type SldsClasses = string[];

export type SldsPlusClasses = string[];

export type StylingHooksByCategory = {
    global: string[];
    component: string[];
    shared: string[];
    kinetic: string[];
}

export type ValueToStylingHooksMapping = Record<string, ValueToStylingHookEntry[]>;

export type ValueToStylingHookEntry = {
    name: string;
    properties: string[];
}

export interface Metadata {
    auraToLwcTokensMapping: AuraToLwcTokensMapping;
    bemNaming: BEMNaming;
    deprecatedClasses: DeprecatedClasses;
    deprecatedStylingHooks: DeprecatedStylingHooks;
    globalStylingHooksMetadata: GlobalStylingHooks;
    icons: Record<string, unknown>;
    lwcToSlds: LwcToSldsTokensMapping;
    slds1ExcludedVars: Record<string, string>;
    slds1DeprecatedComponentHooks: Record<string, string>;
    sldsClasses: SldsClasses;
    sldsPlusClasses: SldsPlusClasses;
    sldsStylingHooks: StylingHooksByCategory;
    sldsPlusStylingHooks: StylingHooksByCategory;
    valueToStylingHooksSlds: ValueToStylingHooksMapping;
    valueToStylingHooksCosmos: ValueToStylingHooksMapping;
}

declare const metadata: Metadata;
export default metadata;



