import { ColourOptions } from './theme'; import { FOOTER, HEADER, moduleLayoutType } from 'utils/constants/layouts-names'; export interface LayoutOption { key: string; title: string; } export interface SEOMetaTags { tags: { content: string; tag: string; attributes: any; }; } export interface SiteConfig { siteBackgroundColour: { key: ColourOptions; }; debugMode: boolean; headerLayout: { layoutOption: moduleLayoutType }; } export interface ColourLink { key: ColourOptions; } export interface MerchantLogo { url: string; alt: string; } export type HeaderOptions = | HEADER.LEFT | HEADER.TOP_THIN | HEADER.TOP_FIXED | HEADER.TOP_CENTER | HEADER.BEGONIA_FIXED | HEADER.BEGONIA_FLOATING | HEADER.BEGONIA_HYBRID | HEADER.COSMOS_DEFAULT; export interface HeaderConfig { layoutOption: HeaderOptions; menuItems: MenuItem[]; showSocial: boolean; useHeadingFont: boolean; backgroundColour: ColourLink; textColour: ColourLink; iconColour: ColourLink; highlightColour: ColourLink; } export type FooterOptions = | FOOTER.CENTERED | FOOTER.HORIZONTAL | FOOTER.EMAIL_SUBSCRIBE | FOOTER.BEGONIA_EMAIL_SUBSCRIBE; export interface FooterConfig { layoutOption: FooterOptions; menuItems: MenuItem[]; showSocial: boolean; useHeadingFont: boolean; themeConfig: HeaderConfig; } export interface MenuItem { __typename: string; _modelApiKey: string; id: string; title?: string; bold?: boolean; page?: { originalId: string; fields: { slug: string; } title: string; }; }