import { EmbedEnum } from "./utils/embeds"
import { PageLink, PageLinkWithOriginalUrl } from "./utils/pageLink"
import { TypenameInterface } from "./utils/typename"

import type { ImageContainer } from "./imageContainer"
import type { SysAsset } from "./utils/asset"

interface AccountPage
  extends TypenameInterface<EmbedEnum.AccountPage>,
    PageLink {}
interface ContentPage
  extends TypenameInterface<EmbedEnum.ContentPage>,
    PageLinkWithOriginalUrl {}
interface LoyaltyPage
  extends TypenameInterface<EmbedEnum.LoyaltyPage>,
    PageLinkWithOriginalUrl {}

export type Embeds =
  | AccountPage
  | ContentPage
  | ImageContainer
  | LoyaltyPage
  | SysAsset
