

type IMarkdown = string;


interface IHeader {
  menuItems?: ILink[];
  button?: ILink;
}

// type IComponents=IBanner

interface ILocale {
  locale: string;
}

interface IParams {
  locale: string;
}

interface IApiAttributes extends ILocale {}

interface ILink {
  label: string;
  url: string;
}

interface ISocialLink {
  icon: string;
  url: string;
  label?: string;
}

interface IDynamicImage {
  url: string;
  width: number;
  height: number;
  alternativeText: string;
}

interface IDynamicVideo {
  url: string;
}

interface IResponsiveImageGroup {
  portrait: IDynamicImage;
  landscape: IDynamicImage;
  square?: IDynamicImage;
}

interface IResponsiveVideoGroup {
  portrait: IDynamicVideo;
  landscape: IDynamicVideo;
  square?: IDynamicVideo;
}

interface ISelectOption {
  value: string;
  label: string | React.ReactElement;
}

type IApiResponse<T>={
  data: T[];
};

interface ISuccessResponse<T>{
  success: true;
}

interface IErrorResponse {
  success: false;
  code?: string;
}

type IResponse<T = Record<string, any>> = ISuccessResponse<T> | IErrorResponse;
