import { Nullable } from '../../types/general';

type OverrideRgbaValue = {
	r: number;
	g: number;
	b: number;
	a: number;
};

export type VegaThemeOverrideColors = {
	actionColor?: string;
	sidebarColor?: string;
	/**
	 * Optional token-level overrides returned by `validateColorAccessibility()` as `contrastCapPatches`.
	 * When provided, these CSS values are applied on top of the generated theme, replacing
	 * tokens whose formula hard-caps contrast below the WCAG threshold.
	 *
	 * Keys are token names (e.g. `"ring-input-focus"`), values are CSS `r g b / a` strings.
	 */
	overrideTokenMap?: Record<string, string>;
};

export type OverrideColor = {
	name: string;
	value: Nullable<string>;
};

/**
 * @deprecated please use BrandOptions instead.
 */
export type NewBrandOptions = BrandOptions;

export type BrandOptions = 'gp' | 'genius' | 'heartland';
