import { ChannelType, FooterTypes } from "./../../styles/index";
import { ActionModel, BackgroundModel, DeviderModel, InputTextModel, NavbarButton, SpacingModel } from "./../../styles/style.model";
import { FOOTER_IMAGE_SOURCE, SOCIAL_ICON_SHAPE, SOCIAL_ICON_SIZE, SOCIAL_ICON_TYPE } from "./../../styles/types";
export interface FooterSectionModel {
    id: string;
    sectionType: string;
    sectionName: string;
    content: FooterContentModel;
    styles: FooterStylesModel;
    action: ActionModel;
}
export interface FooterStylesModel {
    layout: FooterLayoutModel;
    background: BackgroundModel;
    footerType: FooterTypes;
    socialIcon: FooterSocialIconSizeModel;
    devider: DeviderModel;
}
export interface FooterLayoutModel {
    spacing: SpacingModel;
}
export interface FooterSocialIconSizeModel {
    size: SOCIAL_ICON_SIZE;
    shape: SOCIAL_ICON_SHAPE;
    type: SOCIAL_ICON_TYPE;
}
export interface FooterContentModel {
    siteNameAndLogo: string;
    siteName: InputTextModel;
    linksTitle?: InputTextModel;
    additionalDetails: InputTextModel;
    getInTouch?: getInTouchModel;
    logo: FooterLogoModel;
    image: FooterImageModel;
    navbarButtons: NavbarButton[];
    socialLinks: FooterSocialLinkModel;
    displayBranding: boolean;
}
export interface getInTouchModel {
    display: boolean;
    inputText: InputTextModel[];
}
export interface BannerListItem {
    inputText: InputTextModel[];
}
export interface FooterLogoModel {
    isImage: boolean;
    text: FooterLogoTextModel;
    image: footerLogobrandingModel;
    size: number;
}
export interface footerLogobrandingModel {
    source: FOOTER_IMAGE_SOURCE;
    url: string;
}
export interface FooterLogoTextModel {
    isText: boolean;
    isIcon: boolean;
    url: string;
    fontFamily: string;
}
export interface FooterImageModel {
    source: FOOTER_IMAGE_SOURCE;
    url: string;
}
export interface FooterSocialLinkModel {
    display: boolean;
    channels: FooterSocialChannelModel[];
}
export interface FooterSocialChannelModel {
    type: ChannelType;
    url: string;
    link: string;
}
