import { Color } from './Color';
import { ColorType } from './utils/color.interface';

export type ThemeModeType = 'theme' | 'base';
export type Colors = Record<string, Color>;

export const DEFAULT_THEME_MODE = 'base';

export interface PaletteType {
  title: string;
  id: string;
  description?: string;
  /**
   * @default base
   */
  mode?: ThemeModeType;
  /**
   * The list of colors in this palette
   */
  colors?: ColorType[];
  /**
   * The theme id for which this palette is for
   */
  themeId?: string;
  /**
   * When palette is copied or imported from another theme it will have a
   * reference to the original theme id
   */
  referenceThemeId?: string;
}
