export interface ContentScheme {
    content: ElementTypes[]
}

export type ElementTypes = Banner | Center | Navbar | BannerCompact

export type ElementBase = {
    order: number
}

export interface ButtonLinkProps {
    size?: 'small' | 'default';
    variant?: 'default' | 'ghost';
    href: string;
    label: string;
    iconLeft?: React.ReactNode;
    iconRight?: React.ReactNode;
}

export interface BannerProps {
    title: string;
    subtitle: string;
    backgroundImage: string;
    logoImage: string;
}

export interface BannerCompactProps {
    id: number
}

export interface BannerCompact extends ElementBase {
    type: 'BannerCompact',
    props: BannerCompactProps
}

export interface Banner extends ElementBase {
    type: 'Banner',
    props: BannerProps,
}

export interface CenterProps {
    content: ElementTypes[]
    id: number
}

export interface Center extends ElementBase {
    type: 'Center',
    props: CenterProps
}

export interface NavbarProps {
    id: number
}

export interface Navbar extends ElementBase {
    type: 'Navbar',
    props: NavbarProps
}

