import type { MetabaseColor, MetabaseColors } from "../../embedding-sdk/theme";
import type { ColorName, ColorPalette } from "../../lib/colors/types";
/**
 * Define SDK colors that can be mapped 1:1 to the main app colors.
 *
 * Every color defined in `lib/colors` can be mapped here. However,
 * we do define a custom public interface for some colors,
 * such as chart colors, which needs to be excluded here.
 */
export type MappableSdkColor = Exclude<MetabaseColor, "charts">;
export type SemanticColorKey = "text-primary" | "text-secondary" | "text-tertiary" | "text-selected" | "text-brand" | "text-white" | "background" | "background-selected" | "background-disabled" | "background-inverse" | "background-brand" | "brand-light" | "brand-lighter";
/**
 * Mapping of SDK colors to main app colors. There could be additional values
 * for new semantic colors we add to colors.module.css
 */
export declare const SDK_TO_MAIN_APP_COLORS_MAPPING: Record<MappableSdkColor, (ColorName | SemanticColorKey)[]>;
/**
 * @param sdkColors color overrides from the SDK theme
 * @param appPalette color palette from the admin appearance settings
 */
export declare function getEmbeddingColorPalette(sdkColors?: MetabaseColors, appPalette?: ColorPalette): ColorPalette;
/**
 * !! Mutate the global colors object to apply the new colors.
 *
 * @param sdkColors color overrides from the SDK theme
 * @param appPalette color palette from the admin appearance settings
 */
export declare function setGlobalEmbeddingColors(sdkColors?: MetabaseColors, appPalette?: ColorPalette): void;
