export type CustomTheme = {
  id: string;
  name: string;
  description: string;
  defaultColour: string;
  CanChangeColour: boolean;
  allowBackgrounds: boolean;
  CustomCSS: string;
  CustomImages: CustomImage[];
  coverImage: Blob | null;
  isEditable: boolean;
  hideThemeName: boolean;
  webURL?: string;
  selectedColor?: string;
  forceDark?: boolean;
};

export type LoadedCustomTheme = CustomTheme & {
  CustomImages: {
    id: string;
    blob: Blob;
    variableName: string;
  }[];
};

export type DownloadedTheme = CustomTheme & {
  webURL: string;
};

export type CustomImage = {
  id: string;
  blob: Blob;
  variableName: string;
};

export type ThemeList = {
  themes: CustomTheme[];
  selectedTheme: string;
};
